Submission #1166516

#TimeUsernameProblemLanguageResultExecution timeMemory
1166516tsengangBikeparking (EGOI24_bikeparking)C++20
25 / 100
157 ms19024 KiB
#include <bits/stdc++.h> #define ll long long #define ff first #define ss second #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define pb push_back #define ertunt return #define vodka void #define sleepearly ertunt using namespace std; int main() { ll n; cin >> n; vector<ll> a(n); for (ll i = 0; i < n; i++) cin >> a[i]; set<ll> s; vector<ll> b(n); for(ll i = 0; i < n; i++){ cin >> b[i]; if(b[i] > 0) s.insert(i); } ll ans = 0; for(ll i = 0; i < n; i++){ while(a[i] > 0 && !s.empty()){ auto it = s.upper_bound(i); if(it == s.end()) break; ll j = *it; ll x = min(a[i], b[j]); ans += x; a[i] -= x; b[j] -= x; if(b[j] == 0) s.erase(it); } } for(ll i = 0; i < n;i++){ ans-=max(0ll,b[i] - a[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...