Submission #1191880

#TimeUsernameProblemLanguageResultExecution timeMemory
1191880hmmmBank (IZhO14_bank)C++20
19 / 100
75 ms8684 KiB
#include<bits/stdc++.h> using namespace std; using pii=array<int,2>; const int N=21; int a[N],b[N]; pii dp[1<<N]; int main(){ ios::sync_with_stdio(0); cin.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 st=dp[i][0]; int cnt=dp[i][1]; for(int j=0;j<m;j++){ if((i&(1<<j))!=0) continue; if(cnt+b[j]==a[st]){ dp[i|(1<<j)]={st+1,0}; } else if(cnt+b[j]<a[st]){ dp[i|(1<<j)]={st,cnt+b[j]}; } } } for(int i=1;i<(1<<m);i++){ // cout << i << ' ' << dp[i][0] << ' ' << dp[i][1] << "\n"; if(dp[i][0]==n){ cout << "YES"; return 0; } } cout << "NO"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...