Submission #1322807

#TimeUsernameProblemLanguageResultExecution timeMemory
1322807the_ZHERBodyguards (CEOI10_bodyguards)C++20
40 / 100
151 ms327680 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 a[10005][10005]; int r1[10005]; int c1[10005]; 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; c.push_back({a,b}); cnt1+=b; for(int j=l;j<=l+b-1;j++){ c1[j]=a; 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]--; pair<int,int>p=q.top(); a[i][p.second]=1; 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...