Submission #1245857

#TimeUsernameProblemLanguageResultExecution timeMemory
1245857AMel0nBikeparking (EGOI24_bikeparking)C++20
100 / 100
31 ms7100 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]; vector<ll> bru; ll res = 0; for(ll u = N-1; u > 0; u--) { ll delta = min(park[u-1], user[u]); park[u-1] -= delta; user[u] -= delta; res += delta; if (!park[u-1] && user[u]) bru.push_back(u); if (park[u-1] && !user[u]) { while(bru.size()) { ll end = bru.back(); delta = min(park[u-1], user[end]); park[u-1] -= delta; user[end] -= delta; res += delta; if (!user[end]) bru.pop_back(); if (!park[u-1]) break; } } } 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...