Submission #1279575

#TimeUsernameProblemLanguageResultExecution timeMemory
1279575hanguyendanghuy은행 (IZhO14_bank)C++20
71 / 100
1096 ms10872 KiB
#include <bits/stdc++.h> using namespace std; #define ll int #define pb push_back #define fi first #define se second constexpr ll MAXN=2e6+5,MAXV=1e5,MOD=1e9+7; ll n,m,i,j,p,k,ans,dem,st,en,a[MAXN],b[MAXN],giatri[MAXN],mark[MAXN]; int main(){ ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>n>>m; for(i=1;i<=n;i++) cin>>a[i]; for(i=0;i<m;i++) cin>>b[i]; for(ll mask=1;mask<(1<<m);mask++){ ll cnt=0; for(j=0;j<m;j++) if((mask>>j)&1) cnt+=b[j]; giatri[mask]=cnt; } vector<ll> dung,luu; dung.pb(0); for(i=1;i<=n;i++){ luu.clear(); for(ll mask=1;mask<(1<<m);mask++) mark[mask]=0; for(ll mask=1;mask<(1<<m);mask++){ if(giatri[mask]==a[i]&&!mark[mask]){ for(ll x:dung){ if((x|mask)==(x^mask)) luu.pb((x|mask)); mark[(x|mask)]=1; } } } dung=luu; } if(dung.size()) 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...