Submission #671860

#TimeUsernameProblemLanguageResultExecution timeMemory
671860ReLiceBank (IZhO14_bank)C++14
71 / 100
1096 ms11604 KiB
#include<bits/stdc++.h> using namespace std; #define endl "\n" #define ll long long #define ld long double #define int long long #define pb push_back #define sz size() #define fr first #define sc second //#define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> void fre(string s){freopen((s+".in").c_str(),"r",stdin);freopen((s+".out").c_str(),"w",stdout);} void start(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } const int N=1e4; const int mod=1e9+7; const int inf=1e7; vector <vector <ll>> dp(N); vector <ll> v,v2; ll n,m; bool check(ll id,ll a){ if(id==n) return true; if(dp[v[id]].sz==0) return false; for(auto i : dp[v[id]]){ if((a^i)!=(a+i))continue; if(check(id+1,a^i)){ return true; } } return false; } void solve(){ ll i,j,b,mx=-1,l,r,k,ans=1,lst; cin>>n>>m; for(i=0;i<n;i++){ cin>>b; v.pb(b); } for(i=0;i<m;i++){ cin>>b; v2.pb(b); } ll c=1; dp[0].pb(0); for(auto i : v2){ for(j=1000;j>=0;j--){ if(dp[j].sz>0){ for(auto i1 : dp[j]){ if(j+i<1002) dp[j+i].pb(i1+c); } } } c*=2; } if(check(0,0)){ cout<<"YES"<<endl; } else cout<<"NO"<<endl; } signed main(){ //fre("divide"); start(); ll t=1; //cin>>t; while(t--) solve(); }

Compilation message (stderr)

bank.cpp: In function 'void solve()':
bank.cpp:36:14: warning: unused variable 'mx' [-Wunused-variable]
   36 |     ll i,j,b,mx=-1,l,r,k,ans=1,lst;
      |              ^~
bank.cpp:36:20: warning: unused variable 'l' [-Wunused-variable]
   36 |     ll i,j,b,mx=-1,l,r,k,ans=1,lst;
      |                    ^
bank.cpp:36:22: warning: unused variable 'r' [-Wunused-variable]
   36 |     ll i,j,b,mx=-1,l,r,k,ans=1,lst;
      |                      ^
bank.cpp:36:24: warning: unused variable 'k' [-Wunused-variable]
   36 |     ll i,j,b,mx=-1,l,r,k,ans=1,lst;
      |                        ^
bank.cpp:36:26: warning: unused variable 'ans' [-Wunused-variable]
   36 |     ll i,j,b,mx=-1,l,r,k,ans=1,lst;
      |                          ^~~
bank.cpp:36:32: warning: unused variable 'lst' [-Wunused-variable]
   36 |     ll i,j,b,mx=-1,l,r,k,ans=1,lst;
      |                                ^~~
bank.cpp: In function 'void fre(std::string)':
bank.cpp:12:27: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 | void fre(string s){freopen((s+".in").c_str(),"r",stdin);freopen((s+".out").c_str(),"w",stdout);}
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bank.cpp:12:64: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 | void fre(string s){freopen((s+".in").c_str(),"r",stdin);freopen((s+".out").c_str(),"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...