Submission #1215902

#TimeUsernameProblemLanguageResultExecution timeMemory
1215902jellybeanBikeparking (EGOI24_bikeparking)C++20
100 / 100
88 ms9800 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int,int> #define fi first #define se second #define pb push_back #define dd(x) cout<<#x<<" is "<<x<<endl; signed main(){ int n; cin>>n; int b[n], p[n]; int sum = 0; for(int i=0; i<n; i++) cin>>b[i]; for(int i=0; i<n; i++) cin>>p[i], sum -= p[i]; stack<pii>s; for(int i=0; i<n; i++){ while(s.size() and p[i]){ auto[x,id] = s.top(); s.pop(); sum += 2*min(p[i],x); if(x >= p[i]){ x -= p[i]; b[id] = x; s.push({x,id}); p[i] = 0; } else { p[i] -= x; b[id] = 0; } } s.push({b[i],i}); } for(int i=0; i<n; i++){ if(b[i] and p[i]){ int x = min(b[i],p[i]); b[i] -= x, p[i] -= x; sum += x; } } cout<<sum; return 0; }
#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...