제출 #683010

#제출 시각아이디문제언어결과실행 시간메모리
683010maks007은행 (IZhO14_bank)C++14
0 / 100
1093 ms8532 KiB
#include "bits/stdc++.h"

using namespace std;

#define int long long

signed main () {
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	int n,m;
	cin >> n >> m;
	vector <int> a(n), b(m);
	for(int i = 0; i < n; i ++) cin >> a[i];
	for(int i = 0; i < m; i ++) cin >> b[i];
	vector <int> dp((1<<m), -1);
	dp[0]=0;
	for(int mask = 0; mask < (1 << m); mask ++) {
		int sum = 0;
		for(int i = 0; i < m; i ++) {
			if(mask & (1 << i)) sum += b[i];
		}
		for(int mask2 = 0; mask2 < (1 << m); mask2 ++) {
			if(mask & mask2) continue;
			if(dp[mask2] == -1) continue;
			if(sum == a[dp[mask2]]) dp[mask] = max(dp[mask], dp[mask2] + 1); 
		}
	}
	if(count(dp.begin(), dp.end(), n)) cout << "YES";
	else cout << "NO";
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...