Submission #1322794

#TimeUsernameProblemLanguageResultExecution timeMemory
1322794yessimkhanBodyguards (CEOI10_bodyguards)C++20
50 / 100
1104 ms327680 KiB
#include <bits/stdc++.h>
// solved by bekagg
#define ll long long
#define ent '\n'
#define pb push_back
#define all(x) x.begin(),x.end()
#define PRaim_bek_abi ios_base::sync_with_stdio(0);cin.tie(0);

using namespace std;

const int N = 1e5+5;
const int MOD = 1e9+7;

int n , m;

void arkanefury228(){
    cin >> n;
    multiset<int , greater<int> >a;
    vector<int>b;
    for (int i = 1; i <= n; i++){
        int x , y;
        cin >> x >> y;
        if (x == 0) continue;
        while(y--){
            a.insert(x);
        }
    }

    cin >> m;

    for (int i = 1; i <= m; i++){
        int x , y;
        cin >> x >> y;
        if (x == 0) continue;
        while(y--){
            b.pb(x);
        }
    }

    for (int i = 0; i < b.size(); i++){
        if (b[i] <= a.size()){
            vector<int>v;
            for (int k = 1; k <= b[i]; k++){
                int x = (*a.begin());
                a.erase(a.find(x));
                x--;
                if (x){
                    v.pb(x);
                }
            }
            for (auto to : v){
                a.insert(to);
            }
        }
        else {
            cout << 0;
            return;
        }
    }

    if (a.size()){
        cout << 0;
        return;
    }

    cout << 1;
}

signed main(){

    PRaim_bek_abi

    int t=1;
    //cin>>t;
    for (int respagold = 1; respagold <= t; respagold++) arkanefury228();
}
#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...