Submission #643337

# Submission time Handle Problem Language Result Execution time Memory
643337 2022-09-21T18:25:23 Z Matteo_Verz Present (RMI21_present) C++17
8 / 100
1495 ms 8772 KB
#include <bits/stdc++.h>
#ifdef BLAT
   #include "debug/debug.hpp"
#else
   #define debug(x...)
#endif

using namespace std;

void generateNextSet(long long &mask) {
    for (int i = 1; i <= 40; i++) {
        mask ^= (1LL << i);
        if (mask & (1LL << i))
            break;
    }

    long long gcd = 0;
    for (int i = 1; i <= 40; i++)
        for (int j = i + 1; j <= 40; j++)
            if ((mask & (1LL << i)) && (mask & (1LL << j)))
                gcd |= (1LL << (__gcd(i, j)));

    for (int i = 40; i >= 1; i--)
        if (gcd & (1LL << i))
            mask |= (1LL << i);
}

void printSet(long long set, int setidx) {
    // cout << "S" << setidx << " = ";
    cout << __builtin_popcount(set) << ' ';
    for (int i = 1; i <= 40; i++)
        if (set & (1LL << i))
            cout << i << ' ';
    cout << '\n';
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    long long set = 2;
    vector <long long> sets = {0};
    for (int i = 1; i <= 1000000; i++) {
        sets.push_back(set);
        generateNextSet(set);
    }

    int t;
    cin >> t;
    while (t--) {
        int k;
        cin >> k;
        printSet(sets[k], k);
    }
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1445 ms 8772 KB Output is correct
2 Correct 1452 ms 8656 KB Output is correct
3 Correct 1434 ms 8696 KB Output is correct
4 Correct 1463 ms 8684 KB Output is correct
5 Correct 1463 ms 8576 KB Output is correct
6 Correct 1495 ms 8580 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1445 ms 8772 KB Output is correct
2 Correct 1452 ms 8656 KB Output is correct
3 Correct 1434 ms 8696 KB Output is correct
4 Correct 1463 ms 8684 KB Output is correct
5 Correct 1463 ms 8576 KB Output is correct
6 Correct 1495 ms 8580 KB Output is correct
7 Incorrect 1490 ms 8612 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1445 ms 8772 KB Output is correct
2 Correct 1452 ms 8656 KB Output is correct
3 Correct 1434 ms 8696 KB Output is correct
4 Correct 1463 ms 8684 KB Output is correct
5 Correct 1463 ms 8576 KB Output is correct
6 Correct 1495 ms 8580 KB Output is correct
7 Incorrect 1490 ms 8612 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1445 ms 8772 KB Output is correct
2 Correct 1452 ms 8656 KB Output is correct
3 Correct 1434 ms 8696 KB Output is correct
4 Correct 1463 ms 8684 KB Output is correct
5 Correct 1463 ms 8576 KB Output is correct
6 Correct 1495 ms 8580 KB Output is correct
7 Incorrect 1490 ms 8612 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1445 ms 8772 KB Output is correct
2 Correct 1452 ms 8656 KB Output is correct
3 Correct 1434 ms 8696 KB Output is correct
4 Correct 1463 ms 8684 KB Output is correct
5 Correct 1463 ms 8576 KB Output is correct
6 Correct 1495 ms 8580 KB Output is correct
7 Incorrect 1490 ms 8612 KB Output isn't correct
8 Halted 0 ms 0 KB -