Submission #38757

#TimeUsernameProblemLanguageResultExecution timeMemory
38757khohkoBank (IZhO14_bank)C++14
0 / 100
76 ms8908 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define fr first #define sc second #define N ((ll)(2e5+100)) #define MAX ((ll)(1e16+100)) #define ARRS ((ll)(2e5+100)) #define MOD ((ll)(1e9+7)) #define pb push_back ll dp[22][1060000]; ll a[40]; ll b[40]; ll n,m; int main(){ cin>>n>>m; for(int i=0; i<n; i++) cin>>b[i]; for(int i=1; i<n; i++) b[i]+=b[i-1]; for(int i=0; i<m; i++) cin>>a[i]; ll pas=0; dp[0][0]=1; for(int i=0; i<=n; i++){ for(int t=0; t<(1<<m); t++){ if(!dp[i][t])continue; if(i==n){ pas=1; break; } if(t==b[i]) dp[i+1][t]=1; for(int j=0; j<m; j++){ if(!((t>>j)&1)) dp[i][t|(1<<j)]=1; } //cout<<i<<" "<<t<<" -> "<<dp[i][t]<<endl; } //cout<<endl; } if(pas){ cout<<"YES"; } else 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...