Submission #1322798

#TimeUsernameProblemLanguageResultExecution timeMemory
1322798yerkoshBodyguards (CEOI10_bodyguards)C++20
50 / 100
71 ms39836 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pb push_back
#define inf 1e18+1e9
#define F first
#define S second
#define int long long
#define mod (int)(1e9+7)
#define maxn 1000100
#define pii pair<int,int>
#define mod2 998244353
const long double eps=1e-9;
ld dist(ld x1,ld y1,ld x2,ld y2) {
    return sqrt(abs(x1-x2)*abs(x1-x2)+abs(y1-y2)*abs(y1-y2));
}

pii a[maxn],b[maxn];
int c[maxn],d[maxn];



void solve () {
    int n,m;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i].F>>a[i].S;
    cin>>m;
    for(int i=1;i<=m;i++) cin>>b[i].F>>b[i].S;
    sort(a+1,a+n+1);
    sort(b+1,b+m+1);
    reverse(b+1,b+m+1);
    int x=0;
    for (int i=1;i<=n;i++) {
        for (int j=1;j<=a[i].S;j++) {
            c[++x]=a[i].F;
        }
    }
    n=x;
    x=0;
    for (int i=1;i<=m;i++) {
        for (int j=1;j<=b[i].S;j++) {
            d[++x]=b[i].F;
        }
    }
    m = x;
    for (int i=1;i<=n;i++) {
        sort(d+1,d+m+1);
        reverse(d+1,d+m+1);
        if (!d[c[i]]) {
            cout<<0;
            return;
        }
        for (int j=1;j<=c[i];j++) {
            d[j]--;
        }
    }
    cout<<1;
}
int32_t main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    int t=1;
    // cin>>t;
    for (int ii=1;ii<=t;ii++) {
        solve();
        // asd();
        if (ii<t)cout<<"\n";
    }
}
#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...