제출 #1368233

#제출 시각아이디문제언어결과실행 시간메모리
1368233africBikeparking (EGOI24_bikeparking)C++20
9 / 100
19 ms5124 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    cin.tie(nullptr);
    ios_base::sync_with_stdio(false);

    int n;
    cin >> n;
    vector<long long> slot; slot.reserve(n);
    for (int i = 0; i < n; i++) {
        long long x;
        cin >> x;
        slot.push_back(x);
    }
    vector<long long> bike; bike.reserve(n);
    for (int i = 0; i < n; i++) {
        long long x;
        cin >> x;
        bike.push_back(x);
    }
    int tierPtr = 0;
    int counter = 0;
    for (int i = 1; i < n; i++) {
        while (bike[i] > 0) {
            while (tierPtr < n && slot[tierPtr]==0) {
                tierPtr++;
            }
            if (tierPtr >= i) {
                // we don't get a +1 for this
                break;
            }
            if (slot[tierPtr] > bike[i]) {
                counter += bike[i];
                bike[i] = 0;
                slot[tierPtr] -= bike[i];
            }
            else {
                counter += slot[tierPtr];
                bike[i] -= slot[tierPtr];
                slot[tierPtr] = 0;
            }
        }
    }
    int rtierPtr = (n-1);
    for (int i = (n-1); i >= 0; i--) {
        //can take +0
        if (slot[i] > 0) {
            if (bike[i] > slot[i]) {
                bike[i] -= slot[i];
                slot[i] = 0;
            }
            else {
                slot[i] -= bike[i];
                bike[i] = 0;
            }
        }
    }
    for (int i : bike) {
        counter -= i;
    }
    cout << counter << endl;
    return 0;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…