Submission #369509

#TimeUsernameProblemLanguageResultExecution timeMemory
369509MilosMilutinovicBank (IZhO14_bank)C++14
44 / 100
1094 ms492 KiB
#include <bits/stdc++.h> using namespace std; const int N=25; const int M=1050; int n,m,a[N],b[N]; void SolveDP(){ vector<bool> can(M,false); can[0]=true; for(int i=1;i<=m;i++){ vector<bool> tmp(M,false); for(int j=b[i];j<M;j++)if(can[j-b[i]])tmp[j]=true; for(int j=b[i];j<M;j++)if(tmp[j])can[j]=true; } if(can[a[1]])printf("YES"); else printf("NO"); } void SolveBruteForce(){ vector<int> p(m); iota(p.begin(),p.end(),1); do{ //for(int i:p)cout<<i<<" "; //puts(""); bool ok=true; int sum=0,j=1; for(int i:p){ sum+=b[i]; if(sum==a[j]){ sum=0,j++; // printf("NEKI BUG"); } if(j>n)break; if(sum>a[j]){ ok=false; break; } } if(ok){ printf("YES"); return; } }while(next_permutation(p.begin(),p.end())); printf("NO"); } int main(){ scanf("%i%i",&n,&m); for(int i=1;i<=n;i++)scanf("%i",&a[i]); for(int i=1;i<=m;i++)scanf("%i",&b[i]); //sort(a+1,a+n+1); //sort(b+1,b+m+1); if(n==1){SolveDP();return 0;} if(n<=10)SolveBruteForce(); return 0; }

Compilation message (stderr)

bank.cpp: In function 'int main()':
bank.cpp:45:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   45 |  scanf("%i%i",&n,&m);
      |  ~~~~~^~~~~~~~~~~~~~
bank.cpp:46:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   46 |  for(int i=1;i<=n;i++)scanf("%i",&a[i]);
      |                       ~~~~~^~~~~~~~~~~~
bank.cpp:47:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   47 |  for(int i=1;i<=m;i++)scanf("%i",&b[i]);
      |                       ~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...