Submission #1322816

#TimeUsernameProblemLanguageResultExecution timeMemory
1322816the_ZHERBodyguards (CEOI10_bodyguards)C++20
50 / 100
70 ms32056 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define boost ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
const int inf=1e18;
const int N=2e5+100;
const int mod=1e9+7;
struct edge{
    int a,b;
};
vector<edge>r;
vector<edge>c;
int r1[4000005];
int c1[4000005];
signed main(){
    boost;
    int n,m;
    cin>>n;
    int cnt=0;
    int l=1;
    for(int i=1;i<=n;i++){
        int a,b;
        cin>>a>>b;
        r.push_back({a,b});
        for(int j=l;j<=l+b-1;j++){
            r1[j]=a;
        }
        l+=b;
        cnt+=b;
    }
    cin>>m;
    int cnt1=0;
    l=1;
    priority_queue<pair<int,int> >q;
    for(int i=1;i<=m;i++){
        int a,b;
        cin>>a>>b;
        cnt1+=b;
        for(int j=l;j<=l+b-1;j++){
            q.push({a,j});
        }
        l+=b;
    }
    vector<pair<int,int> >v;
    int ok=1;
    for(int i=1;i<=cnt;i++){
        while(r1[i]>0){
            r1[i]--;
            if(q.size()==0){
                ok=0;
                break;
            }
            pair<int,int>p=q.top();
            p.first--;
            if(p.first<0){
                ok=0;
                break;
            }
            q.pop();
            v.push_back(p);
        }
        if(ok==0){
            break;
        }
        for(int j=0;j<v.size();j++){
            q.push(v[j]);
        }
        v.clear();
    }
    cout<<ok;
}
#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...