Submission #332940

#TimeUsernameProblemLanguageResultExecution timeMemory
332940nandonathanielBank (IZhO14_bank)C++14
71 / 100
1101 ms127372 KiB
#include<bits/stdc++.h> using namespace std; vector<int> v[1000005]; int a[20],b[20]; int main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int n,m; 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 i=0;i<(1<<m);i++){ int uang=0; for(int j=0;j<m;j++){ if((1<<j) & i)uang+=b[j]; } v[uang].push_back(i); } if(v[a[0]].empty()){ cout << "NO\n"; return 0; } vector<int> valid; for(auto isi : v[a[0]])valid.push_back(isi); for(int i=1;i<n;i++){ if(v[a[i]].empty()){ cout << "NO\n"; return 0; } vector<int> bisa; for(auto isi : valid){ for(auto isi2 : v[a[i]]){ if((isi&isi2)==0)bisa.push_back(isi+isi2); } } sort(bisa.begin(),bisa.end()); bisa.erase(unique(bisa.begin(),bisa.end()),bisa.end()); valid=bisa; if(valid.empty())break; } if(valid.empty())cout << "NO\n"; else cout << "YES\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...