#include<bits/stdc++.h>
#define int long long
using namespace std;
const long mod=1e9+7;
const long long INF=1e18;
int bin_pow(int a, int b) {
if(b==0)
return 1;
long long res = bin_pow(a, b / 2)%mod;
if (b % 2)
return (res%mod * res%mod * a%mod)%mod;
else
return (res%mod * res%mod)%mod;
}
int f(int x){
int ans=0;
for(int i=1;i*i<=x;i++){
if(x%i==0){
ans++;
if(x/i!=i){
ans++;
}
}
}
return ans;
}
bool isprime(int n){
for(int i=2;i*i<=n;i++){
if(n%i==0){
return true;
}
}
return false;
}
vector<long long> divisors(long long n) {
if (n <= 0) return {};
vector<long long> small;
long long i = 1;
for (; i * i <= n; ++i) {
if (n % i == 0) {
small.push_back(i);
long long j = n / i;
if (j != i) small.push_back(j);
}
}
return small;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n,m;
cin>>n>>m;
vector<int>a(n),b(m);
for(auto &e:a){
cin>>e;
}
bool ok=false;
for(auto &e:b){
cin>>e;
}
for(int mask=0;mask<(1<<m);mask++){
int sum=0;
for(int i=0;i<m;i++){
if(mask&(1<<i)){
sum+=b[i];
}
}
if(sum==a[0]){
cout<<"YES";
ok=true;
break;
}
}
if(!ok){
cout<<"NO";
}
return 0;
}
# | 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... |