// YoruoniVamp - VTUBE
// Pragma Credit to Discord: pxsithexahydride
#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,no-stack-protector,inline-small-functions,inline,unsafe-math-optimizations,omit-frame-pointer,inline-functions-called-once")
#include <bits/stdc++.h>
#pragma GCC target("avx2,fma,popcnt,lzcnt,bmi,bmi2,sse4.2,tune=native")
using namespace std;
#define endl '\n'
#define ll long long
#define ld long double
#define ull unsigned ll
#define cint const int
#define cf const float
cint mxA = 1e6+5, MOD = 1e9+7, INF = 0x3f3f3f3f;
cint d4x[4] = {0, 1, 0, -1}, d4y[4] = {1, 0, -1, 0};
cint d8x[8] = {0, 1, 1, 1, 0, -1, -1, -1}, d8y[8] = {1, 1, 0, -1, -1, -1, 0, 1};
void wait(int ms){
clock_t endwait;
endwait = clock() + ms;
while(clock()<endwait){}
}
ll a[21], b[21];
ll dp[21], bm[21];
ll n, m;
bool valid;
void knap(int idx){
if(idx==n+1){
// for(int i = 1; i <= n; i++){
// int ii = 0;
// int tmp = bm[i];
// string s = "";
// while(tmp){
// if(tmp&1) s+='1';
// else s+='0';
// tmp>>=1;
// ii++;
// }for(;ii<m;ii++)s+='0';
// // reverse(s.begin(),s.end());
// cout << s << endl;
// // cout << endl;
// }
cout << "YES";
exit(0);
}for(ll mask = 1; mask <= ((1<<m)-1); mask++){
// cout << mask << endl;
bool canchoose = true;
for(int j = 1; j <= n; j++){
ll tmp = bm[j];
if(tmp&mask){
canchoose = false;
break;
}
}if(canchoose){
ll tmp = mask;
int i = 1;
while(tmp){
if(tmp&1) dp[idx] += b[i];
i++;
tmp>>=1;
}
}if(dp[idx]==a[idx]){
bm[idx] = mask;
knap(idx+1);
}dp[idx] = 0;
// cout << "TO END" << endl;
}
}
void solve(){
cin >> n >> m;
for(int i = 1; i <= n; i++) cin >> a[i];
for(int i = 1; i <= m; i++) cin >> b[i];
if(m<n) goto fail;
knap(1);
fail:
cout << "NO";
return;
}
int main(){
cin.tie(nullptr)->sync_with_stdio(0);cout.tie(0);
// freopen("", "r", stdin);
// freopen("", "w", stdout);
int t = 1;
// cin >> t;
while(t--) solve();
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... |