Submission #671751

# Submission time Handle Problem Language Result Execution time Memory
671751 2022-12-13T16:30:22 Z smartmonky Bank (IZhO14_bank) C++14
100 / 100
211 ms 97536 KB
#include <bits/stdc++.h>
  
#define ff first
#define ss second
#define pb push_back
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
 
using namespace std;
const int N = 2e6;
vector <int> g[N];
int n, vis[25][N];
void rec(int pos, int v){
	if(pos == n + 1){
		cout <<"YES";
		exit(0);
	}
	vis[pos][v] = 1;
	for(auto to : g[pos]){
		if((v & to) == 0 && !vis[pos + 1][(v ^ to)])
			rec(pos + 1, (v ^ to));
	}
}
main(){
	int m;
	cin >> n >> m;
	vector <int> v(n + 1), a(m + 1);
	for(int i = 1; i <= n; i++){
		cin >> v[i];
	}	
	for(int i = 1; i <= m; i++){
		cin >> a[i];
	}
	for(int i = 1; i < (1 << m); i++){
		int sum = 0;
		for(int j = 0; j < m; j++)
		if(i & (1 << j)){
			sum += a[j + 1];
		}
		//cout << sum << endl;
		for(int j = 1; j <= n; j++){
			if(v[j] == sum)g[j].pb(i);
		}
	}
	rec(1, 0);
	cout << "NO";
}

Compilation message

bank.cpp:24:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   24 | main(){
      | ^~~~
# Verdict Execution time Memory Grader output
1 Correct 23 ms 47188 KB Output is correct
2 Correct 24 ms 47188 KB Output is correct
3 Correct 23 ms 47244 KB Output is correct
4 Correct 25 ms 47268 KB Output is correct
5 Correct 79 ms 47268 KB Output is correct
6 Correct 24 ms 47188 KB Output is correct
7 Correct 26 ms 47188 KB Output is correct
8 Correct 78 ms 47312 KB Output is correct
9 Correct 79 ms 47308 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 27 ms 47276 KB Output is correct
2 Correct 32 ms 47184 KB Output is correct
3 Correct 25 ms 47188 KB Output is correct
4 Correct 25 ms 47300 KB Output is correct
5 Correct 26 ms 47320 KB Output is correct
6 Correct 25 ms 47236 KB Output is correct
7 Correct 25 ms 47232 KB Output is correct
8 Correct 25 ms 47324 KB Output is correct
9 Correct 26 ms 47224 KB Output is correct
10 Correct 26 ms 47308 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 29 ms 47316 KB Output is correct
2 Correct 26 ms 47272 KB Output is correct
3 Correct 25 ms 47316 KB Output is correct
4 Correct 26 ms 47236 KB Output is correct
5 Correct 27 ms 47220 KB Output is correct
6 Correct 27 ms 47252 KB Output is correct
7 Correct 26 ms 47316 KB Output is correct
8 Correct 27 ms 47236 KB Output is correct
9 Correct 28 ms 47316 KB Output is correct
10 Correct 26 ms 47344 KB Output is correct
11 Correct 26 ms 47284 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 23 ms 47188 KB Output is correct
2 Correct 24 ms 47188 KB Output is correct
3 Correct 23 ms 47244 KB Output is correct
4 Correct 25 ms 47268 KB Output is correct
5 Correct 79 ms 47268 KB Output is correct
6 Correct 24 ms 47188 KB Output is correct
7 Correct 26 ms 47188 KB Output is correct
8 Correct 78 ms 47312 KB Output is correct
9 Correct 79 ms 47308 KB Output is correct
10 Correct 27 ms 47276 KB Output is correct
11 Correct 32 ms 47184 KB Output is correct
12 Correct 25 ms 47188 KB Output is correct
13 Correct 25 ms 47300 KB Output is correct
14 Correct 26 ms 47320 KB Output is correct
15 Correct 25 ms 47236 KB Output is correct
16 Correct 25 ms 47232 KB Output is correct
17 Correct 25 ms 47324 KB Output is correct
18 Correct 26 ms 47224 KB Output is correct
19 Correct 26 ms 47308 KB Output is correct
20 Correct 29 ms 47316 KB Output is correct
21 Correct 26 ms 47272 KB Output is correct
22 Correct 25 ms 47316 KB Output is correct
23 Correct 26 ms 47236 KB Output is correct
24 Correct 27 ms 47220 KB Output is correct
25 Correct 27 ms 47252 KB Output is correct
26 Correct 26 ms 47316 KB Output is correct
27 Correct 27 ms 47236 KB Output is correct
28 Correct 28 ms 47316 KB Output is correct
29 Correct 26 ms 47344 KB Output is correct
30 Correct 26 ms 47284 KB Output is correct
31 Correct 84 ms 47272 KB Output is correct
32 Correct 83 ms 47436 KB Output is correct
33 Correct 88 ms 47264 KB Output is correct
34 Correct 89 ms 47252 KB Output is correct
35 Correct 91 ms 47248 KB Output is correct
36 Correct 96 ms 47380 KB Output is correct
37 Correct 80 ms 47280 KB Output is correct
38 Correct 89 ms 47312 KB Output is correct
39 Correct 85 ms 47256 KB Output is correct
40 Correct 92 ms 47264 KB Output is correct
41 Correct 94 ms 47256 KB Output is correct
42 Correct 91 ms 56740 KB Output is correct
43 Correct 87 ms 48032 KB Output is correct
44 Correct 90 ms 47232 KB Output is correct
45 Correct 80 ms 47188 KB Output is correct
46 Correct 83 ms 47260 KB Output is correct
47 Correct 90 ms 47380 KB Output is correct
48 Correct 78 ms 47280 KB Output is correct
49 Correct 81 ms 47248 KB Output is correct
50 Correct 92 ms 47308 KB Output is correct
51 Correct 86 ms 47468 KB Output is correct
52 Correct 89 ms 47292 KB Output is correct
53 Correct 86 ms 47296 KB Output is correct
54 Correct 97 ms 47388 KB Output is correct
55 Correct 93 ms 47404 KB Output is correct
56 Correct 93 ms 47312 KB Output is correct
57 Correct 211 ms 97536 KB Output is correct
58 Correct 92 ms 47384 KB Output is correct