Submission #1097287

#TimeUsernameProblemLanguageResultExecution timeMemory
1097287Trisanu_DasBikeparking (EGOI24_bikeparking)C++17
44 / 100
38 ms5720 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    cin.tie(0)->sync_with_stdio(0);
    int n; cin >> n;
    int x[n], y[n], tot = 0;
    for (int i = 0; i < n; i++) cin >> x[i];
    for (int i = 0; i < n; i++){ 
        cin >> y[i];
        tot += y[i];
    }
    int free = 0, ans = 0, u;
    for (int i = 0; i < n; i++) {
        u = min(free, y[i]);
        free -= u;
        y[i] -= u;
        tot -= u;
        ans += u;
        if (x[i] > y[i]) {
            free += x[i] - y[i];
            x[i] = y[i];
        }
    }
    free = 0;
    for (int i = 0; i < n; i++) {
        tot -= y[i];
        u = min(free, y[i]);
        free -= u;
        y[i] -= u;
        ans += u;
        if (x[i] > tot) {
            free = tot;
            ans -= max(y[i] - (x[i] - tot), 0);
        } else {
            free += x[i];
            ans -= y[i];
        }
    }
    cout << ans << '\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...