Submission #1098173

#TimeUsernameProblemLanguageResultExecution timeMemory
1098173vjudge1Bank (IZhO14_bank)C++17
44 / 100
1097 ms49656 KiB
//UNSTOPPABLE #include "bits/stdc++.h" using namespace std; int n,m,a[20],b[20],used[20]; set <int> g[1001]; void rec(int mask){ bool ok = 0; for(int i = 0 ; i < n ; i++){ if(!used[i]){ ok = 1; break; } } if(!ok){ cout << "YES"; exit(0); } for(int i = 0 ; i < n ; i++){ if(used[i]) continue; for(auto it : g[a[i]]){ if((mask & it)){ continue; } used[i] = 1; rec((mask | it)); used[i] = 0; } } } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for(int i = 0 ; i < n ; i++){ cin >> a[i]; } for(int i = 0 ; i < m ; i++){ cin >> b[i]; } for(int mask = 0 ; mask < (1 << m) ; mask++){ int sum = 0; for(int i = 0 ; i < m ; i++){ if(((mask >> i) & 1)){ sum += b[i]; } } if(sum <= 1000){ g[sum].insert(mask); } } rec(0); cout << "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...