Submission #1012856

#TimeUsernameProblemLanguageResultExecution timeMemory
1012856MohamedFaresNebiliBank (IZhO14_bank)C++14
0 / 100
1098 ms428 KiB
#include <bits/stdc++.h>

		using namespace std;

		int N, M;
		int A[22], B[22];

		bool solve(int curr, int mask) {
			if(curr == 0) return 1;	
			bool res = 0;
			for(int l = 0; l < M; l++) {
				if(mask & (1 << l)) continue;
				if(B[l] > curr) continue;
				res = max(res, solve(curr - B[l], mask | (1 << l)));
			}
			return res;
		}


		int32_t main() {
			ios_base::sync_with_stdio(0);
			cin.tie(0); cout.tie(0);
			cin >> N >> M;
			for(int l = 0; l < N; l++) cin >> A[l];
			for(int l = 0; l < M; l++) cin >> B[l];
			bool ok = solve(A[0], 0);
			cout << (ok ? "YES" : "NO") << "\n";
		}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...