Submission #1246140

#TimeUsernameProblemLanguageResultExecution timeMemory
1246140AMel0nBikeparking (EGOI24_bikeparking)C++20
25 / 100
28 ms4936 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define FOR(i,N) for(ll i = 0; i < N; i++) #define all(x) (x).begin(), (x).end() #define F first #define S second signed main() { cin.tie(0); ios::sync_with_stdio(false); ll N; cin >> N; vector<ll> park(N), user(N); FOR(i, N) cin >> park[i]; FOR(i, N) cin >> user[i]; ll res = 0; vector<ll> unassigned; // back = closest for(ll i = 1; i < N; i++) { ll delta = min(park[i-1], user[i]); park[i-1] -= delta; user[i] -= delta; res += delta; if (user[i]) {unassigned.push_back(i); continue;} while(unassigned.size()) { ll cl = unassigned.back(); delta = min(park[cl], user[i]); park[cl] -= delta; user[i] -= delta; res += delta; if (!user[i]) break; unassigned.pop_back(); } } FOR(i, N) res -= max(0ll, user[i] - park[i]); cout << res << '\n'; }
#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...