Submission #1322796

#TimeUsernameProblemLanguageResultExecution timeMemory
1322796dadadadadBodyguards (CEOI10_bodyguards)C++20
50 / 100
350 ms327680 KiB

#include <bits/stdc++.h>
using namespace std;
 
#define ll long long
#define str string
#define fi first
#define se second
#define pll pair<ll, ll>
#define pii pair<int, int>
#define pb push_back
#define all(x) x.begin(), x.end()
 
const ll N = 1e5+5, INF = INT_MAX, MOD = 1e9 + 7;
const ll INFL = LLONG_MAX;

void solve(){
	ll r, c;
	cin >> r;
	
	vector <ll> rr;
	ll sum1 = 0;
	for(int i = 0; i < r; i ++) {
		ll num, cnt;
		cin >> num >> cnt;
		for(int i = 0; i < cnt; i ++) {
			rr.pb(num);
		}
		sum1 += num * cnt;
	}
	
	cin >> c;
	
	vector <ll> cc;
	ll sum2 = 0;
	
	for(int i = 0; i < c; i ++) {
		ll num, cnt;
		cin >> num >> cnt;
		for(int i = 0; i < cnt; i ++) {
			cc.pb(num);
		}
		sum2 += num * cnt;
	}
	
	if(sum1 != sum2) {
		cout << 0;
		return;
	}
	
	sort(rr.rbegin(), rr.rend());
	sort(cc.rbegin(), cc.rend());
	
	while(!cc.empty()) {
		int cur = cc.back();
		cc.pop_back();
		
		for(int i = 0; i < cur; i ++) {
			rr[i] --;
			if(rr[i] < 0) {
				cout << 0;
				return;
			}
		}
		sort(rr.rbegin(), rr.rend());
	}
	
	cout << 1;
	
}


int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
//	freopen(s".in", "r", stdin); 
//	freopen(s".out", "w", stdout);
	
	
	int t;
	t = 1;
	
	
//	cin >> t;
	for(int i = 1; i <= t; i ++) {
//		cout << "Case " << i << ":\n";
		solve();
//		clean();
	}
	
// 	while(cin >> n){
// 	    solve();
// 	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...