Submission #1272539

#TimeUsernameProblemLanguageResultExecution timeMemory
1272539kiteyuBank (IZhO14_bank)C++20
0 / 100
1 ms640 KiB
#include<bits/stdc++.h> using namespace std; using ll=long long; const int N=20; int n,m,a[N+5],b[N+5],d[N+5],qe[N+5][(1<<N)]; bool f[(1<<N)]; vector<int>g[N+5]; int main(){ freopen("bank.in","r",stdin); freopen("bank.out","w",stdout); 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<n;++i){ for(int mask=1;mask<(1<<m);++mask){ int s=0; for(int j=0;j<m;++j) if(((mask>>j)&1)) s+=b[i]; if(s==a[i])g[i].push_back(mask); } } qe[0][d[0]++]=0; for(int i=0;i<n;++i){ memset(f,0,sizeof(f)); for(int j=0;j<d[i];++j){ for(int mask:g[i]) if(!(qe[i][j]&mask)&&!f[qe[i][j]^mask]){ f[qe[i][j]^mask]=1; qe[i+1][d[i+1]++]=1; if(i==n-1) return cout<<"YES",0; } } } cout<<"NO"; return 0; }

Compilation message (stderr)

bank.cpp: In function 'int main()':
bank.cpp:10:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |     freopen("bank.in","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
bank.cpp:11:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |     freopen("bank.out","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...