Submission #521728

#TimeUsernameProblemLanguageResultExecution timeMemory
521728KalashnikovBank (IZhO14_bank)C++17
19 / 100
58 ms300 KiB
#include <bits/stdc++.h>
 
#define ios ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout)
#define all(a) a.begin() , a.end()
#define F first
#define S second
 
using namespace std;
using ll = long long;
 
const int N = 2e5+5 , inf = 2e9 + 7;
const ll INF = 1e18 ,   mod = 1e9+7 , P = 6547;

int a[N] , b[N];


void solve(int tc) {
	int n , m;
	cin >> n >> m;
	for(int i = 1; i <= n; i ++) {
		cin >> a[i];
	}
	for(int i = 1; i <= m; i ++) {
		cin >> b[i];
	}
	vector<pair<int,int>> v;
	for(int i = 1; i <= n; i ++) {
		int ok = 0;
		for(int mask = 0; mask < (1 << m); mask ++) {
			int sum = 0;
			for(int j = 1; j <= m; j ++) {
				if(mask & (1 << j-1)) {
					sum += b[j];
				}
			}
			if(sum == a[i]) {
				if(n == 1) {
					cout << "YES";
					return;
				}
				for(auto to: v) {
					if((to.F&mask) == 0) {
						to.F |= mask;
						to.S ++;
						if(to.S == n) {
							cout << "YES";
							return;
						}
					}
				}
				v.push_back({mask , 1});
			}
		}
	}
	cout << "NO";
}
/*
*/
main() {
    ios;
    int tt = 1 , tc = 0;
    // cin >> tt;
    while(tt --) {
        solve(++tc);
    }
    return 0;
}

Compilation message (stderr)

bank.cpp: In function 'void solve(int)':
bank.cpp:33:22: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   33 |     if(mask & (1 << j-1)) {
      |                     ~^~
bank.cpp:29:7: warning: unused variable 'ok' [-Wunused-variable]
   29 |   int ok = 0;
      |       ^~
bank.cpp: At global scope:
bank.cpp:60:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   60 | main() {
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...