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...