Submission #972779

# Submission time Handle Problem Language Result Execution time Memory
972779 2024-05-01T07:11:34 Z beksultan04 Bank (IZhO14_bank) C++14
71 / 100
1000 ms 19284 KB
#include <bits/stdc++.h>
 
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define int long long
#define pii pair<int,int>
#define ret return
#define fr first
#define sc second
#define OK puts("OK");
#define NO puts("NO");
#define YES puts("YES");
#define all(s) s.begin(),s.end()
#define allr(s) s.rbegin(),s.rend()
#define nosol puts("-1");
#define pb push_back
#define endi puts("");
const int N = 2048576,INF = 1e9+7;
int a[N],b[N],dp[N];
vector <int> v[30];
main(){
	int n,m,i,j;
	cin>>n>>m;
	for (i=0;i<n;++i)
		cin>>a[i];
	for (j=0;j<m;++j)
		cin>>b[j];
	
	for (int mask = 0;mask < (1<<m); ++mask){
		int sum = 0;
		for (i=0;i<m;++i){
			if ((mask&(1<<i)) != 0){
				sum += b[i];
			}
		}
		for (i=0;i<n;++i){
			if (sum == a[i]){
				v[i].pb(mask);
			}
		}
	}
	for (i=1;i<N;++i)dp[i] = -1;
	for (i=0;i<n;++i){
		for (int mask = (1<<m)-1; mask >= 0;--mask){
			
			if (dp[mask] != -1){
				for (auto x: v[i]){
					if (!(mask&x)){
						dp[mask|x] = dp[mask] + 1;
						
					}
				}
			}
			
		}
	}
	int ans = 0;
	for (int mask = 0; mask <(1<<m);++mask){
		if (dp[mask] == n){
			ans = 1;
		}
	}
	if (ans)YES
	else NO
	
	
	
}








Compilation message

bank.cpp:23:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   23 | main(){
      | ^~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 19036 KB Output is correct
2 Correct 3 ms 19036 KB Output is correct
3 Correct 4 ms 19036 KB Output is correct
4 Correct 5 ms 19036 KB Output is correct
5 Correct 71 ms 19028 KB Output is correct
6 Correct 3 ms 19032 KB Output is correct
7 Correct 3 ms 19032 KB Output is correct
8 Correct 70 ms 19184 KB Output is correct
9 Correct 71 ms 19028 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 19036 KB Output is correct
2 Correct 4 ms 19036 KB Output is correct
3 Correct 3 ms 19032 KB Output is correct
4 Correct 3 ms 19036 KB Output is correct
5 Correct 3 ms 19032 KB Output is correct
6 Correct 3 ms 19036 KB Output is correct
7 Correct 3 ms 19036 KB Output is correct
8 Correct 3 ms 18876 KB Output is correct
9 Correct 3 ms 19036 KB Output is correct
10 Correct 3 ms 19036 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 19036 KB Output is correct
2 Correct 4 ms 19036 KB Output is correct
3 Correct 4 ms 19036 KB Output is correct
4 Correct 4 ms 19036 KB Output is correct
5 Correct 4 ms 19064 KB Output is correct
6 Correct 4 ms 19036 KB Output is correct
7 Correct 4 ms 18884 KB Output is correct
8 Correct 4 ms 19036 KB Output is correct
9 Correct 4 ms 19036 KB Output is correct
10 Correct 4 ms 19036 KB Output is correct
11 Correct 4 ms 19036 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 19036 KB Output is correct
2 Correct 3 ms 19036 KB Output is correct
3 Correct 4 ms 19036 KB Output is correct
4 Correct 5 ms 19036 KB Output is correct
5 Correct 71 ms 19028 KB Output is correct
6 Correct 3 ms 19032 KB Output is correct
7 Correct 3 ms 19032 KB Output is correct
8 Correct 70 ms 19184 KB Output is correct
9 Correct 71 ms 19028 KB Output is correct
10 Correct 3 ms 19036 KB Output is correct
11 Correct 4 ms 19036 KB Output is correct
12 Correct 3 ms 19032 KB Output is correct
13 Correct 3 ms 19036 KB Output is correct
14 Correct 3 ms 19032 KB Output is correct
15 Correct 3 ms 19036 KB Output is correct
16 Correct 3 ms 19036 KB Output is correct
17 Correct 3 ms 18876 KB Output is correct
18 Correct 3 ms 19036 KB Output is correct
19 Correct 3 ms 19036 KB Output is correct
20 Correct 4 ms 19036 KB Output is correct
21 Correct 4 ms 19036 KB Output is correct
22 Correct 4 ms 19036 KB Output is correct
23 Correct 4 ms 19036 KB Output is correct
24 Correct 4 ms 19064 KB Output is correct
25 Correct 4 ms 19036 KB Output is correct
26 Correct 4 ms 18884 KB Output is correct
27 Correct 4 ms 19036 KB Output is correct
28 Correct 4 ms 19036 KB Output is correct
29 Correct 4 ms 19036 KB Output is correct
30 Correct 4 ms 19036 KB Output is correct
31 Correct 72 ms 18900 KB Output is correct
32 Correct 187 ms 19284 KB Output is correct
33 Correct 80 ms 19128 KB Output is correct
34 Correct 78 ms 19028 KB Output is correct
35 Correct 79 ms 19024 KB Output is correct
36 Correct 94 ms 18868 KB Output is correct
37 Correct 71 ms 19072 KB Output is correct
38 Correct 74 ms 19028 KB Output is correct
39 Correct 89 ms 18884 KB Output is correct
40 Correct 78 ms 19068 KB Output is correct
41 Correct 92 ms 18860 KB Output is correct
42 Correct 103 ms 19028 KB Output is correct
43 Correct 77 ms 18864 KB Output is correct
44 Correct 90 ms 19028 KB Output is correct
45 Correct 74 ms 18876 KB Output is correct
46 Correct 76 ms 19024 KB Output is correct
47 Correct 90 ms 19036 KB Output is correct
48 Correct 70 ms 19032 KB Output is correct
49 Correct 71 ms 18856 KB Output is correct
50 Correct 420 ms 19024 KB Output is correct
51 Execution timed out 1033 ms 19216 KB Time limit exceeded
52 Halted 0 ms 0 KB -