# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
166036 | 2019-11-30T11:35:45 Z | GioChkhaidze | Bank (IZhO14_bank) | C++14 | 1000 ms | 26172 KB |
#include <bits/stdc++.h> #define ll long long using namespace std; int n,m,S0,S1,S2; int a[22],b[22]; vector < int > D[21]; ll F1[1058576],F2[1058576],F3[1058576]; bool ans[(1<<21)]; main () { cin>>n>>m; for (int i=0; i<n; i++) { cin>>a[i]; S1+=a[i]; } for (int i=0; i<m; i++) cin>>b[i]; for (int j=0; j<n; j++) { for (int mask=0; mask<(1<<m); ++mask) { S0=0; for (int i=0; i<m; i++) if ((1<<i)&mask) S0+=b[i]; if (S0==a[j]) F2[mask]++; } for (int i=0; i<m; ++i) for (int mask=0; mask<(1<<m); ++mask) if (mask&(1<<i)) F2[mask]+=F2[mask^(1<<i)]; for (int mask=0; mask<(1<<m); ++mask) { if (!j) F3[mask]=F2[mask]; else F3[mask]=F1[mask]*F2[mask]; F1[mask]=F3[mask]; F2[mask]=0; } for (int i=m-1; i>=0; --i) for (int mask=(1<<m)-1; mask>=0; --mask) if (mask&(1<<i)) F3[mask]-=F3[mask^(1<<i)]; for (int mask=0; mask<(1<<m); ++mask) if (!ans[mask] && F3[mask]) ans[mask]=1; } for (int mask=(1<<m)-1; mask>=0; --mask) if (ans[mask]) { S2=0; for (int i=0; i<m; i++) if (mask&(1<<i)) S2+=b[i]; if (S1==S2) { cout<<"YES\n"; return 0; } } cout<<"NO\n"; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Correct | 7 ms | 1144 KB | Output is correct |
5 | Correct | 160 ms | 25080 KB | Output is correct |
6 | Correct | 2 ms | 376 KB | Output is correct |
7 | Correct | 2 ms | 376 KB | Output is correct |
8 | Correct | 150 ms | 25948 KB | Output is correct |
9 | Correct | 201 ms | 25080 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Correct | 2 ms | 376 KB | Output is correct |
5 | Correct | 3 ms | 376 KB | Output is correct |
6 | Correct | 2 ms | 376 KB | Output is correct |
7 | Correct | 2 ms | 376 KB | Output is correct |
8 | Correct | 2 ms | 376 KB | Output is correct |
9 | Correct | 2 ms | 380 KB | Output is correct |
10 | Correct | 3 ms | 376 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 13 ms | 760 KB | Output is correct |
2 | Correct | 7 ms | 760 KB | Output is correct |
3 | Correct | 18 ms | 760 KB | Output is correct |
4 | Correct | 25 ms | 888 KB | Output is correct |
5 | Correct | 18 ms | 888 KB | Output is correct |
6 | Correct | 10 ms | 760 KB | Output is correct |
7 | Correct | 9 ms | 760 KB | Output is correct |
8 | Correct | 7 ms | 760 KB | Output is correct |
9 | Correct | 15 ms | 764 KB | Output is correct |
10 | Correct | 34 ms | 760 KB | Output is correct |
11 | Correct | 25 ms | 760 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Correct | 7 ms | 1144 KB | Output is correct |
5 | Correct | 160 ms | 25080 KB | Output is correct |
6 | Correct | 2 ms | 376 KB | Output is correct |
7 | Correct | 2 ms | 376 KB | Output is correct |
8 | Correct | 150 ms | 25948 KB | Output is correct |
9 | Correct | 201 ms | 25080 KB | Output is correct |
10 | Correct | 2 ms | 376 KB | Output is correct |
11 | Correct | 2 ms | 376 KB | Output is correct |
12 | Correct | 2 ms | 376 KB | Output is correct |
13 | Correct | 2 ms | 376 KB | Output is correct |
14 | Correct | 3 ms | 376 KB | Output is correct |
15 | Correct | 2 ms | 376 KB | Output is correct |
16 | Correct | 2 ms | 376 KB | Output is correct |
17 | Correct | 2 ms | 376 KB | Output is correct |
18 | Correct | 2 ms | 380 KB | Output is correct |
19 | Correct | 3 ms | 376 KB | Output is correct |
20 | Correct | 13 ms | 760 KB | Output is correct |
21 | Correct | 7 ms | 760 KB | Output is correct |
22 | Correct | 18 ms | 760 KB | Output is correct |
23 | Correct | 25 ms | 888 KB | Output is correct |
24 | Correct | 18 ms | 888 KB | Output is correct |
25 | Correct | 10 ms | 760 KB | Output is correct |
26 | Correct | 9 ms | 760 KB | Output is correct |
27 | Correct | 7 ms | 760 KB | Output is correct |
28 | Correct | 15 ms | 764 KB | Output is correct |
29 | Correct | 34 ms | 760 KB | Output is correct |
30 | Correct | 25 ms | 760 KB | Output is correct |
31 | Correct | 301 ms | 25960 KB | Output is correct |
32 | Correct | 413 ms | 26032 KB | Output is correct |
33 | Correct | 928 ms | 26172 KB | Output is correct |
34 | Execution timed out | 1082 ms | 25464 KB | Time limit exceeded |
35 | Halted | 0 ms | 0 KB | - |