Submission #707308

#TimeUsernameProblemLanguageResultExecution timeMemory
707308robertanechita1Bank (IZhO14_bank)C++17
0 / 100
27 ms49532 KiB
#include <bits/stdc++.h> using namespace std; ifstream fin("bank.in"); ofstream fout("bank.out"); int n, m, s[1005], b[1005]; set<int>dp[(1 << 20) + 10]; ///retin nr de oameni pe care i am platit si suma de bani ramasa int main() { fin >> n >> m; for(int i = 0; i < n; i++) fin >> s[i]; for(int i = 0; i < m; i++){ fin >> b[i]; dp[(1 << i)].insert(b[i]); } for(int stare = 0; stare < (1 << m); stare++) for(int j = 0; j < m; j++) if(!(stare & (1 << j))){ for(auto i : dp[stare]){ dp[(stare | (1 << j))].insert(i + b[j]); } } int ans = 0, cnt; for(int i = 0; i < (1 << m) && !ans; i++){ cnt = 0; for(int j = 0; j < n; j++) if(dp[i].find(s[j]) != dp[i].end()) cnt++; if(cnt == n) ans = 1; } if(ans) fout << "YES\n"; else fout << "NO\n"; 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...