Submission #1229001

#TimeUsernameProblemLanguageResultExecution timeMemory
1229001darkdravenBank (IZhO14_bank)C++20
19 / 100
1096 ms328 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; #define nl "\n" #define sp " " #define name "test" #define int long long int n, m; int a[21], b[21]; bool rec(int idN, int idM, int mask, int mask2){ if(idM == m){ int tmp = 0; for(int i = 0; i<m; i++){ if(mask & (1<<i) && !(mask2 & (1<<i)) ) tmp += b[i]; } if(tmp == a[idN]){ if(idN == n-1) return 1; return rec(idN+1, 0, 0, mask2 | mask); } return 0; } bool opt = rec(idN, idM+1, mask, mask2); bool opt2= rec(idN, idM+1, mask | (1<<idM), mask2); return max(opt, opt2); } void sub(){ if(rec(0, 0, 0, 0)) cout << "YES"; else cout << "NO"; } signed main() { ios::sync_with_stdio(0); cin.tie(0); //freopen(name".INP", "r", stdin); //freopen(name".OUT", "w", stdout); cin >> n >> m; for(int i = 0; i<n; i++) cin >> a[i]; for(int j = 0; j<m; j++) cin >> b[j]; sub(); 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...