제출 #1335815

#제출 시각아이디문제언어결과실행 시간메모리
1335815itslqBikeparking (EGOI24_bikeparking)C++20
25 / 100
105 ms2756 KiB
#include "bits/stdc++.h"
using namespace std;

int main() {
    int N; cin >> N;
    vector<int> X(N), Y(N);

    int c = 0, ans = 0;
    for (int i = 0; i < N; i++) cin >> X[i];
    for (int i = 0; i < N; i++) {
        cin >> Y[i];

        while (Y[i] && Y[i] >= X[c] && c < i) {
            Y[i] -= X[c];
            ans += X[c];
            X[c++] = 0;
        }
        if (Y[i] && c < i) {
            X[c] -= Y[i];
            ans += Y[i];
            Y[i] = 0;
        }
    }

    for (int i = 0; i < N; i++) {
        if (Y[i] && Y[i] >= X[i]) {
            Y[i] -= X[i];
            X[i] = 0;
        } else if (Y[i]) {
            X[c] -= Y[i];
            Y[i] = 0;
        }
    }

    c = N - 1;
    for (int i = 0; i < N; i++) {
        while (Y[i] && Y[i] >= X[c]) {
            ans -= X[c];
            Y[i] -= X[c];
            X[c--] = 0;
        }
        if (Y[i]) {
            ans -= Y[i];
            X[c] -= Y[i];
            Y[i] = 0;
        }
    }

    cout << ans;
}
#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...