Submission #880132

#TimeUsernameProblemLanguageResultExecution timeMemory
880132boris_7Bank (IZhO14_bank)C++17
19 / 100
55 ms7024 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; void solve(){ int n,m; cin>>n>>m; vector<int>a(n); vector<int>b(m); for(int &i:a){ cin>>i; } for(int &i:b){ cin>>i; } vector<vector<int>>sum(1001); for(int i = 0;i<(1<<m);i++){ int gumar = 0; for(int j = 0;j<m;j++){ if(i&(1<<j)){ gumar+=b[j]; } } if(gumar<=1000){ sum[gumar].push_back(i); } // if(gumar == a[0]) cout<<i<<endl; } vector<bool>last(1<<m),cur(1<<m); for(int i = 0;i<sum[a[0]].size();i++){ last[sum[a[0]][i]]=1; } for(int i = 1;i<n;i++){ for(int j = 0;j<(1<<m);j++){ for(int &k:sum[j]){ if(k&j==0){ cur[j+k]=1; } } } last = cur; for(bool i:cur) i = 0; } int ans = 0; for(int i = 0;i<(1<<m);i++){ ans |= last[i]; } if(ans){ cout<<"YES"; } else{ cout<<"NO"; } } signed main(){ ios_base::sync_with_stdio(0); cin.tie(nullptr); // ll t;cin>>t;while(t--) solve(); }

Compilation message (stderr)

bank.cpp: In function 'void solve()':
bank.cpp:32:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |     for(int i = 0;i<sum[a[0]].size();i++){
      |                   ~^~~~~~~~~~~~~~~~~
bank.cpp:38:23: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
   38 |                 if(k&j==0){
      |                      ~^~~
bank.cpp:44:18: warning: variable 'i' set but not used [-Wunused-but-set-variable]
   44 |         for(bool i:cur) i = 0;
      |                  ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...