Submission #496013

#TimeUsernameProblemLanguageResultExecution timeMemory
496013DeepessonBank (IZhO14_bank)C++17
0 / 100
1 ms204 KiB
#include <bits/stdc++.h> #define MAXN 21 #define MAXP 1100000 bool existe[MAXN][MAXP]; bool conseguiu=false; long long precisa[MAXN]; int N,M; long long valor[MAXN]; long long pessoa[MAXN]; void dp(int pos,long long pente,long long usados,long long total){ // std::cout<<"Explora "<<pos<<" "<<pente<<" "<<total<<"\n"; long long atual = total-usados; if(pos==N){ conseguiu=true; return; } if(atual==pessoa[pos]){ dp(pos+1,pente,total,total); return; } if(existe[pos][pente])return; existe[pos][pente]=true; for(int i=0;i!=M;++i){ if(!(pente&(1<<i))){ dp(pos,pente|(1<<i),usados,total+valor[i]); } } } int main() { freopen("bank.in", "r", stdin); freopen("bank.out", "w", stdout); std::cin>>N>>M; for(int i=0;i!=N;++i){ std::cin>>pessoa[i]; } for(int i=0;i!=M;++i){ std::cin>>valor[i]; } dp(0,0,0,0); if(conseguiu){ printf("YES\n"); }else printf("NO\n"); }

Compilation message (stderr)

bank.cpp: In function 'int main()':
bank.cpp:31:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   31 |     freopen("bank.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
bank.cpp:32:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   32 |  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...