Submission #1246141

#TimeUsernameProblemLanguageResultExecution timeMemory
1246141AMel0nBikeparking (EGOI24_bikeparking)C++20
25 / 100
29 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; // always take closest parking spot 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 (!park[i-1] && user[i]) unassigned.push_back(i); if (park[i-1] && !user[i]) { 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...