Submission #1172886

#TimeUsernameProblemLanguageResultExecution timeMemory
1172886WarinchaiBikeparking (EGOI24_bikeparking)C++20
100 / 100
141 ms17344 KiB
#include<bits/stdc++.h> using namespace std; int x[300005]; int y[300005]; vector<int>ppl; vector<int>lvl; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n;cin>>n; for(int i=0;i<n;i++){ cin>>x[i]; } for(int i=0;i<n;i++){ cin>>y[i]; } multiset<int>ms; for(int i=0;i<n;i++)ms.insert(i); int ans=0; for(int i=n-1;i>=0;i--){ //cerr<<i<<":\n"; auto it=ms.lower_bound(i+1); vector<int>del; while(it!=ms.end()){ int id=*it; int mn=min(x[i],y[id]); ans+=mn; x[i]-=mn; y[id]-=mn; //cerr<<"use:"<<mn<<"\n"; if(y[id]==0)del.push_back(id); if(x[i]==0)break; it++; } for(auto x:del)ms.erase(x); } for(int i=0;i<n;i++){ int mn=min(x[i],y[i]); x[i]-=mn; y[i]-=mn; //cerr<<"left:"<<y[i]<<"\n"; ans-=y[i]; } cout<<ans; }
#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...