#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&(i<<1)){
				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... |