제출 #39088

#제출 시각아이디문제언어결과실행 시간메모리
39088mrtsima22은행 (IZhO14_bank)C++14
52 / 100
137 ms5108 KiB
#include <bits/stdc++.h> using namespace std; int b[100003],n,m,s[100003],sum[100003]; int g[100003],d[23][100003],jam[100003]; 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...