Submission #1312001

#TimeUsernameProblemLanguageResultExecution timeMemory
1312001nikoloz-chBank (IZhO14_bank)C++20
0 / 100
1 ms332 KiB
#include <bits/stdc++.h> #define int int64_t using namespace std; int n, m; vector<vector<int>> pub; vector<int> a, b; bool rec(int cnt, int cur){ if(cur == n) return true; for(auto &i : pub[cur]){ if((cnt & i) == 0){ if(rec(cnt | i, cur + 1)) return true; } } return false; } void solve(){ cin >> n >> m; pub.assign(n, vector<int>()); for(auto &i : a) cin >> i; for(auto &i : b) cin >> i; for(int i = 0; i < (1LL << m); i++){ int sum = 0; for(int j = 0; j < m; j++){ if(i & (1LL << j)){ sum += b[j]; } } for(int j = 0; j < n; j++){ if(sum == a[j]){ pub[j].push_back(i); } } } if(rec(0, 0)){ cout << "YES\n"; } else { cout << "NO\n"; } } signed main(){ cin.tie(0)->sync_with_stdio(0); int _ = 1;// cin >> _; cout.tie(0); while(_--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...