Submission #39089

#TimeUsernameProblemLanguageResultExecution timeMemory
39089mrtsima22은행 (IZhO14_bank)C++14
52 / 100
140 ms8552 KiB
#include <bits/stdc++.h> using namespace std; int b[1000003],n,m,s[1000003],sum[1000003]; int g[1000003],d[23][1000003],jam[1000003]; string ans="NO"; int main(){std::ios::sync_with_stdio(false); cin>>n>>m; for(int i=0;i<n;i++) { cin>>b[i]; sum[i]=sum[i-1]+b[i]; } for(int i=0;i<m;i++) { cin>>g[i]; } for(int i=0;i<(1<<m);i++) { for(int j=0;j<m;j++) { if(!((i>>j)&1)) { jam[i|(1<<j)]=jam[i]+g[j]; } } } d[0][0]=1; for(int i=0;i<=n;i++) { for(int j=0;j<(1<<m);j++) { if(!d[i][j]) { continue; } if(i==n) { ans="YES"; break; } if(sum[i]==jam[j]) { d[i+1][j]=1; } for(int t=0; t<m; t++) { if(!((j>>t)&1)) { d[i][j|(1<<t)]=1; } } } } cout<<ans<<endl; } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...