159282025-03-24 18:20:41algoproAz óvodai lét elviselhetetlen könnyűsége #2cpp17Wrong answer 30/1001.143s78996 KiB
// UUID: 0a126b78-4f65-4071-a756-2c6e1527d8a4
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int m, q;
const int maxn=1e7+1;
int f[maxn];
int dp[maxn];

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

	cin>>m>>q;
    
    for (int i=0;i<m;i++){
        int a;
        cin>>a;
        for (int j=a-1;j<maxn;j+=a) f[j]=max(f[j], a-1);
    }
    for (int i=maxn-2;i>0;i--) f[i]=max(f[i], f[i+1]-1);
    
    dp[0]=0;
    int pos=maxn;
    for (int i=1;i<maxn;i++){
        if (!f[i]) pos=min(pos,i);
        dp[i]=dp[i-f[i]]+1;
    }

    for (int i=0;i<q;i++){
        int n;
        cin>>n;
        if (n>=pos) {
            cout<<"0\n";
            continue;
        }
        cout<<dp[n]<<"\n";
    }
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted119ms78644 KiB
2Accepted446ms78900 KiB
subtask220/20
3Accepted240ms78636 KiB
4Accepted277ms78644 KiB
5Accepted270ms78644 KiB
6Accepted243ms78644 KiB
7Accepted330ms78644 KiB
8Accepted703ms78644 KiB
9Accepted1.143s78708 KiB
10Accepted1.046s78644 KiB
subtask310/10
11Accepted354ms78644 KiB
12Accepted425ms78684 KiB
13Accepted303ms78644 KiB
14Accepted405ms78700 KiB
15Accepted510ms78668 KiB
16Accepted435ms78644 KiB
17Accepted229ms78644 KiB
subtask40/15
18Accepted150ms78644 KiB
19Accepted243ms78692 KiB
20Accepted175ms78644 KiB
21Accepted356ms78644 KiB
22Accepted328ms78644 KiB
23Accepted495ms78644 KiB
24Accepted402ms78644 KiB
25Accepted458ms78636 KiB
26Wrong answer569ms78476 KiB
27Accepted843ms78644 KiB
subtask50/55
28Accepted423ms78692 KiB
29Wrong answer172ms78644 KiB
30Accepted307ms78900 KiB
31Wrong answer180ms78900 KiB
32Accepted256ms78728 KiB
33Wrong answer409ms78996 KiB
34Accepted441ms78908 KiB
35Accepted372ms78900 KiB
36Accepted493ms78852 KiB
37Accepted215ms78900 KiB
38Accepted331ms78900 KiB
39Accepted224ms78728 KiB