| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 657546 | ono_de206 | Bank (IZhO14_bank) | C++14 | 1080 ms | 3220 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
#include<vector>
#include<set>
using namespace std;
#define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define in insert
#define all(x) x.begin(),x.end()
#define pb push_back
#define eb emplace_back
#define ff first
#define ss second
// #define int long long
template<typename T>
void mxx(T &a,T b) {if(b>a) a=b;}
template<typename T>
void mnn(T &a,T b) {if(b<a) a=b;}
const int mod=1e9+7;
void norm(int &a){
while(a<0) a+=mod;
while(a>=mod) a-=mod;
}
const int mxn=20100;
int a[22];
signed main(){
fast;
int n,m;
cin>>n>>m;
vector<int> a(n),b(m);
vector<vector<int> > gg(n);
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<(1<<m); i++){
int sum=0;
for(int j=0; j<m; j++){
if(i&(1<<j)) sum+=b[j];
}
for(int j=0; j<n; j++) if(sum==a[j]) gg[j].pb(i);
}
vector<int> tmp;
tmp.pb(0);
for(int i=0; i<n; i++){
vector<int> lol;
for(int j=0; j<gg[i].size(); j++){
for(int k=0; k<tmp.size(); k++){
if((gg[i][j]&tmp[k])==0) lol.pb(gg[i][j]^tmp[k]);
}
}
swap(lol,tmp);
}
cout<<(!tmp.empty() ? "YES\n" : "NO\n");
return 0;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
