Submission #1330213

#TimeUsernameProblemLanguageResultExecution timeMemory
1330213AMel0nBikeparking (EGOI24_bikeparking)C++20
25 / 100
28 ms2628 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF = 1e9 + 7;


signed main() {
    cin.tie(0); ios::sync_with_stdio(false);
    int N;
    cin >> N;
    vector<int> X(N), Y(N);
    for(int i = 0; i < N; i++) cin >> X[i];
    for(int i = 0; i < N; i++) cin >> Y[i];
    int j = N-2;
    int res = 0;
    for(int i = N-1; i >= 0; i--) {
        while (j >= 0 && (j >= i || !X[j])) j--;
        while(j >= 0 && j < i && Y[i]) {
            int d = min(X[j], Y[i]);
            res += d;
            X[j] -= d;
            Y[i] -= d;
            if (!X[j]) j--;
        }
    }
    for(int i = 0; i < N; i++) {
        int d = min(X[i], Y[i]);
        X[i] -= d;
        Y[i] -= d;
    }
    for(int i = 0; i < N; i++) {
        res -= Y[i];
    }
    cout << res;
}
#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...