Submission #1322936

#TimeUsernameProblemLanguageResultExecution timeMemory
1322936bahaktlBodyguards (CEOI10_bodyguards)C++20
40 / 100
69 ms824 KiB
#include <bits/stdc++.h> #define int long long #define pb push_back using namespace std; const int N=3000; const int inf=1e18; const int mod=1e9+7; pair<int,int> r[N],c[N]; int a[N]; int b[N]; //int cnt[38][38][38][38]; signed main() { ios_base::sync_with_stdio(NULL); cin.tie(NULL); int T=1; // cin>>T; while(T--) { int n; cin>>n; int rows=1,column=1; for(int i=1;i<=n;i++) { cin>>r[i].first>>r[i].second; for(int j=rows;j<r[i].second+rows;j++) { a[j]=r[i].first; } rows+=r[i].second; } int m; cin>>m; priority_queue<pair<int,int>>pq; for(int i=1;i<=m;i++) { cin>>c[i].first>>c[i].second; for(int j=column;j<c[i].second+column;j++) { pq.push({c[i].first,j}); } column+=c[i].second; } bool ok=1; for(int i=1;i<rows;i++) { int cnt=a[i]; vector<pair<int,int>>v; while(cnt) { pair<int,int>p; p=pq.top(); if(p.first) p.first--,cnt--; else {ok=0;break;} pq.pop(); v.pb(p); } for(auto p:v) { pq.push(p); } if(!ok) break; } if(ok) cout<<"1\n"; else cout<<"0\n"; } } // 1 2 3 4 5 6 7
#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...