# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
537758 |
2022-03-15T13:04:57 Z |
perchuts |
Bank (IZhO14_bank) |
C++17 |
|
808 ms |
188392 KB |
#include <bits/stdc++.h>
#define maxn (int)(1e5+51)
#define all(x) x.begin(), x.end()
#define sz(x) (int) x.size()
#define endl '\n'
#define ll long long
#define pb push_back
#define ull unsigned long long
#define ii pair<int,int>
#define iii tuple<int,int,int>
#define inf 2000000001
#define mod 1000000007 //998244353
#define _ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
using namespace std;
template<typename X, typename Y> bool ckmin(X& x, const Y& y) { return (y < x) ? (x=y,1):0; }
template<typename X, typename Y> bool ckmax(X& x, const Y& y) { return (x < y) ? (x=y,1):0; }
bool dp[20][(1<<20)], mark[20][(1<<20)];
vector<int>a,b;
vector<ii>g[(1<<20)];
int n,m;
int indmax;
bool solve(int i,int mask,int sum=0){
if(i==n)return 1;
if(mark[i][mask])return dp[i][mask];
mark[i][mask] = 1;
if(sum==a[i])return dp[i][mask] = solve(i+1,mask,0);
else if(sum>a[i])return dp[i][mask] = 0;
for(auto [a,b]:g[mask]){
dp[i][mask]|=solve(i,a,sum+b);
}
return dp[i][mask];
}
int main(){_
cin>>n>>m;
a.resize(n);b.resize(m);
sort(all(a));sort(all(b));
for(auto& x:a)cin>>x;
for(auto& x:b)cin>>x;
for(int i=0;i<(1<<m);++i){
int tmp = 0;
while(tmp<m){
if(((1<<tmp)&i)==0)g[i].pb({((1<<tmp)|i),b[tmp]});
++tmp;
}
}
cout<<(solve(0,0)?"YES":"NO")<<endl;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
13 ms |
24916 KB |
Output is correct |
2 |
Correct |
16 ms |
25008 KB |
Output is correct |
3 |
Correct |
14 ms |
24916 KB |
Output is correct |
4 |
Correct |
22 ms |
28148 KB |
Output is correct |
5 |
Correct |
326 ms |
156332 KB |
Output is correct |
6 |
Correct |
15 ms |
24976 KB |
Output is correct |
7 |
Correct |
14 ms |
25044 KB |
Output is correct |
8 |
Correct |
459 ms |
158144 KB |
Output is correct |
9 |
Correct |
644 ms |
158120 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
14 ms |
25044 KB |
Output is correct |
2 |
Correct |
15 ms |
25008 KB |
Output is correct |
3 |
Correct |
16 ms |
24940 KB |
Output is correct |
4 |
Correct |
18 ms |
24964 KB |
Output is correct |
5 |
Correct |
15 ms |
25140 KB |
Output is correct |
6 |
Correct |
15 ms |
25040 KB |
Output is correct |
7 |
Correct |
14 ms |
25044 KB |
Output is correct |
8 |
Correct |
14 ms |
25036 KB |
Output is correct |
9 |
Correct |
14 ms |
24952 KB |
Output is correct |
10 |
Correct |
14 ms |
25044 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
19 ms |
26452 KB |
Output is correct |
2 |
Correct |
19 ms |
26488 KB |
Output is correct |
3 |
Correct |
19 ms |
26708 KB |
Output is correct |
4 |
Correct |
18 ms |
26324 KB |
Output is correct |
5 |
Correct |
18 ms |
26452 KB |
Output is correct |
6 |
Correct |
19 ms |
26372 KB |
Output is correct |
7 |
Correct |
18 ms |
26452 KB |
Output is correct |
8 |
Correct |
18 ms |
26508 KB |
Output is correct |
9 |
Correct |
19 ms |
26620 KB |
Output is correct |
10 |
Correct |
19 ms |
26608 KB |
Output is correct |
11 |
Correct |
22 ms |
26324 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
13 ms |
24916 KB |
Output is correct |
2 |
Correct |
16 ms |
25008 KB |
Output is correct |
3 |
Correct |
14 ms |
24916 KB |
Output is correct |
4 |
Correct |
22 ms |
28148 KB |
Output is correct |
5 |
Correct |
326 ms |
156332 KB |
Output is correct |
6 |
Correct |
15 ms |
24976 KB |
Output is correct |
7 |
Correct |
14 ms |
25044 KB |
Output is correct |
8 |
Correct |
459 ms |
158144 KB |
Output is correct |
9 |
Correct |
644 ms |
158120 KB |
Output is correct |
10 |
Correct |
14 ms |
25044 KB |
Output is correct |
11 |
Correct |
15 ms |
25008 KB |
Output is correct |
12 |
Correct |
16 ms |
24940 KB |
Output is correct |
13 |
Correct |
18 ms |
24964 KB |
Output is correct |
14 |
Correct |
15 ms |
25140 KB |
Output is correct |
15 |
Correct |
15 ms |
25040 KB |
Output is correct |
16 |
Correct |
14 ms |
25044 KB |
Output is correct |
17 |
Correct |
14 ms |
25036 KB |
Output is correct |
18 |
Correct |
14 ms |
24952 KB |
Output is correct |
19 |
Correct |
14 ms |
25044 KB |
Output is correct |
20 |
Correct |
19 ms |
26452 KB |
Output is correct |
21 |
Correct |
19 ms |
26488 KB |
Output is correct |
22 |
Correct |
19 ms |
26708 KB |
Output is correct |
23 |
Correct |
18 ms |
26324 KB |
Output is correct |
24 |
Correct |
18 ms |
26452 KB |
Output is correct |
25 |
Correct |
19 ms |
26372 KB |
Output is correct |
26 |
Correct |
18 ms |
26452 KB |
Output is correct |
27 |
Correct |
18 ms |
26508 KB |
Output is correct |
28 |
Correct |
19 ms |
26620 KB |
Output is correct |
29 |
Correct |
19 ms |
26608 KB |
Output is correct |
30 |
Correct |
22 ms |
26324 KB |
Output is correct |
31 |
Correct |
613 ms |
160216 KB |
Output is correct |
32 |
Correct |
679 ms |
162136 KB |
Output is correct |
33 |
Correct |
349 ms |
165836 KB |
Output is correct |
34 |
Correct |
326 ms |
163540 KB |
Output is correct |
35 |
Correct |
345 ms |
163928 KB |
Output is correct |
36 |
Correct |
334 ms |
157652 KB |
Output is correct |
37 |
Correct |
332 ms |
158276 KB |
Output is correct |
38 |
Correct |
323 ms |
156224 KB |
Output is correct |
39 |
Correct |
387 ms |
166292 KB |
Output is correct |
40 |
Correct |
352 ms |
157172 KB |
Output is correct |
41 |
Correct |
346 ms |
157028 KB |
Output is correct |
42 |
Correct |
502 ms |
165260 KB |
Output is correct |
43 |
Correct |
334 ms |
164264 KB |
Output is correct |
44 |
Correct |
363 ms |
156400 KB |
Output is correct |
45 |
Correct |
437 ms |
161884 KB |
Output is correct |
46 |
Correct |
405 ms |
165188 KB |
Output is correct |
47 |
Correct |
313 ms |
158516 KB |
Output is correct |
48 |
Correct |
433 ms |
158176 KB |
Output is correct |
49 |
Correct |
308 ms |
156840 KB |
Output is correct |
50 |
Correct |
735 ms |
188344 KB |
Output is correct |
51 |
Correct |
365 ms |
159244 KB |
Output is correct |
52 |
Correct |
331 ms |
166656 KB |
Output is correct |
53 |
Correct |
727 ms |
173780 KB |
Output is correct |
54 |
Correct |
720 ms |
187540 KB |
Output is correct |
55 |
Correct |
778 ms |
188312 KB |
Output is correct |
56 |
Correct |
778 ms |
188392 KB |
Output is correct |
57 |
Correct |
693 ms |
186268 KB |
Output is correct |
58 |
Correct |
808 ms |
186472 KB |
Output is correct |