# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
948829 |
2024-03-18T15:01:41 Z |
tnknguyen_ |
Bank (IZhO14_bank) |
C++14 |
|
1000 ms |
51540 KB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define MASK(k) (1LL<<k)
int n, m;
int a[30], b[30];
// ------------ SUBTASKS ------------
namespace SUB1{
bool ok(){
return (n == 1);
}
void solve(){
vector<int> f(1e3+5, 0);
f[0] = 1;
for(int i=1; i<=m; ++i){
for(int j=a[1]; j>=b[i]; --j){
f[j] |= f[j - b[i]];
}
}
cout<<(f[a[1]] ? "YES" : "NO");
//-----------------------------
exit(0);
}
}
int v[21][MASK(22)];
int f[21][MASK(22)];
namespace SUB2{
void solve(){
for(int i=0; i<MASK(m); ++i){
int sum = 0;
for(int j=i; j!=0; j-=(j&-j)){
sum += b[__lg((j&-j)) + 1];
}
for(int j=1; j<=n; ++j){
if(a[j] == sum){
v[j][i] = 1;
}
}
}
f[0][0] = 1;
int fl = 1;
for(int i=1; i<=n; ++i){
int b = 0;
for(int y=0; y<MASK(m); ++y){
if(f[i-1][y] == 1){
for(int x=0; x<MASK(m); ++x){
if((x & y) == 0 && v[i][x] == 1){
f[i][x | y] = 1;
b = 1;
}
}
}
}
if(!b){
fl = 0;
break;
}
}
cout<<(fl ? "YES" : "NO");
//-----------------------------
exit(0);
}
}
int32_t main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
// freopen("main.inp","r",stdin);
// freopen("main.out","w",stdout);
//f[mask][i] =
cin>>n>>m;
for(int i=1; i<=n; ++i){
cin>>a[i];
}
for(int j=1; j<=m; ++j){
cin>>b[j];
}
if(SUB1::ok()){
SUB1::solve();
}
SUB2::solve();
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
1 ms |
348 KB |
Output is correct |
5 |
Correct |
0 ms |
344 KB |
Output is correct |
6 |
Correct |
1 ms |
600 KB |
Output is correct |
7 |
Correct |
0 ms |
348 KB |
Output is correct |
8 |
Correct |
0 ms |
348 KB |
Output is correct |
9 |
Correct |
0 ms |
348 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
16984 KB |
Output is correct |
2 |
Correct |
2 ms |
12636 KB |
Output is correct |
3 |
Correct |
1 ms |
8552 KB |
Output is correct |
4 |
Correct |
2 ms |
14684 KB |
Output is correct |
5 |
Correct |
3 ms |
22876 KB |
Output is correct |
6 |
Correct |
3 ms |
20828 KB |
Output is correct |
7 |
Correct |
2 ms |
12636 KB |
Output is correct |
8 |
Correct |
2 ms |
14684 KB |
Output is correct |
9 |
Correct |
1 ms |
8660 KB |
Output is correct |
10 |
Correct |
3 ms |
20828 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
4 ms |
29188 KB |
Output is correct |
2 |
Correct |
2 ms |
12636 KB |
Output is correct |
3 |
Correct |
8 ms |
41308 KB |
Output is correct |
4 |
Correct |
4 ms |
22876 KB |
Output is correct |
5 |
Correct |
4 ms |
23020 KB |
Output is correct |
6 |
Correct |
1 ms |
348 KB |
Output is correct |
7 |
Correct |
2 ms |
16732 KB |
Output is correct |
8 |
Correct |
2 ms |
12636 KB |
Output is correct |
9 |
Correct |
6 ms |
33116 KB |
Output is correct |
10 |
Correct |
4 ms |
33112 KB |
Output is correct |
11 |
Correct |
2 ms |
344 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
1 ms |
348 KB |
Output is correct |
5 |
Correct |
0 ms |
344 KB |
Output is correct |
6 |
Correct |
1 ms |
600 KB |
Output is correct |
7 |
Correct |
0 ms |
348 KB |
Output is correct |
8 |
Correct |
0 ms |
348 KB |
Output is correct |
9 |
Correct |
0 ms |
348 KB |
Output is correct |
10 |
Correct |
3 ms |
16984 KB |
Output is correct |
11 |
Correct |
2 ms |
12636 KB |
Output is correct |
12 |
Correct |
1 ms |
8552 KB |
Output is correct |
13 |
Correct |
2 ms |
14684 KB |
Output is correct |
14 |
Correct |
3 ms |
22876 KB |
Output is correct |
15 |
Correct |
3 ms |
20828 KB |
Output is correct |
16 |
Correct |
2 ms |
12636 KB |
Output is correct |
17 |
Correct |
2 ms |
14684 KB |
Output is correct |
18 |
Correct |
1 ms |
8660 KB |
Output is correct |
19 |
Correct |
3 ms |
20828 KB |
Output is correct |
20 |
Correct |
4 ms |
29188 KB |
Output is correct |
21 |
Correct |
2 ms |
12636 KB |
Output is correct |
22 |
Correct |
8 ms |
41308 KB |
Output is correct |
23 |
Correct |
4 ms |
22876 KB |
Output is correct |
24 |
Correct |
4 ms |
23020 KB |
Output is correct |
25 |
Correct |
1 ms |
348 KB |
Output is correct |
26 |
Correct |
2 ms |
16732 KB |
Output is correct |
27 |
Correct |
2 ms |
12636 KB |
Output is correct |
28 |
Correct |
6 ms |
33116 KB |
Output is correct |
29 |
Correct |
4 ms |
33112 KB |
Output is correct |
30 |
Correct |
2 ms |
344 KB |
Output is correct |
31 |
Correct |
792 ms |
31240 KB |
Output is correct |
32 |
Execution timed out |
1054 ms |
51540 KB |
Time limit exceeded |
33 |
Halted |
0 ms |
0 KB |
- |