168802025-05-15 10:40:54AblablablaAz óvodai lét elviselhetetlen könnyűsége #2cpp17Accepted 100/1001.054s81460 KiB
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 1e7 + 1e5 + 1;
const int INF = 2e9 + 7;

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int m, q;
    cin >> m >> q;

    vector<int> alap(m);
    for(int &x : alap){
        cin >> x;
    }

    sort(alap.begin(), alap.end());
    alap.erase(unique(alap.begin(), alap.end()), alap.end());

    m = alap.size();

    vector<int> eler(MAXN, INF);
    for(int x : alap){
        for(int i = x - 1; i < MAXN; i += x){
            eler[i] = min(eler[i], i - x + 1);
        }
    }

    for(int i = eler.size() - 2; i >= 0; i--){
        eler[i] = min(eler[i], eler[i + 1]);
    }

    vector<int> ans(MAXN, 0);
    for(int i = 1; i < MAXN; i++){
        if(i <= eler[i]){
            break;
        }


        ans[i] = ans[eler[i]] + 1;
    }

    while(q--){
        int a;
        cin >> a;

        cout << ans[a] << "\n";
    }
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted85ms79412 KiB
2Accepted356ms80180 KiB
subtask220/20
3Accepted245ms79408 KiB
4Accepted232ms79412 KiB
5Accepted273ms79300 KiB
6Accepted222ms79412 KiB
7Accepted453ms79532 KiB
8Accepted504ms79412 KiB
9Accepted713ms79432 KiB
10Accepted1.054s79380 KiB
subtask310/10
11Accepted344ms80188 KiB
12Accepted409ms80180 KiB
13Accepted316ms80436 KiB
14Accepted388ms80180 KiB
15Accepted351ms80180 KiB
16Accepted393ms80436 KiB
17Accepted215ms80944 KiB
subtask415/15
18Accepted185ms79412 KiB
19Accepted226ms79412 KiB
20Accepted144ms80436 KiB
21Accepted256ms79412 KiB
22Accepted354ms80432 KiB
23Accepted344ms79412 KiB
24Accepted425ms79388 KiB
25Accepted347ms79412 KiB
26Accepted316ms79380 KiB
27Accepted764ms79924 KiB
subtask555/55
28Accepted310ms81284 KiB
29Accepted171ms81460 KiB
30Accepted331ms80436 KiB
31Accepted194ms80428 KiB
32Accepted293ms80432 KiB
33Accepted280ms80540 KiB
34Accepted448ms80504 KiB
35Accepted340ms80392 KiB
36Accepted409ms80692 KiB
37Accepted270ms80692 KiB
38Accepted261ms81204 KiB
39Accepted247ms81460 KiB