Submission #155724

#TimeUsernameProblemLanguageResultExecution timeMemory
155724atoizBrunhilda’s Birthday (BOI13_brunhilda)C++14
20 / 100
33 ms3828 KiB
#include <iostream>
#include <vector>

using namespace std;

const int MAXM = 100007, MAXV = 100007;
int Q, M;
int A[MAXV];
vector<int> primes[MAXV];

int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin >> M >> Q;
    for (int i = 0; i < M; ++i) {
        int p;
        cin >> p;
        primes[0].push_back(p);
    }

    int r = 1;
    for (int x = 0; r < MAXV && x < r; ++x) {
        for (int p : primes[x]) {
            for (; r < x + p && r < MAXV; ++r) A[r] = A[x] + 1;
            if (x + p < MAXV) primes[x + p].push_back(p);
        }
        primes[x].clear();
        primes[x].shrink_to_fit();
    }

    for (int q = 0; q < Q; ++q) {
        int x;
        cin >> x;
        if (x >= r) cout << "oo\n";
        else cout << A[x] << '\n';
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...