제출 #1357458

#제출 시각아이디문제언어결과실행 시간메모리
1357458hsuan._.0528Bikeparking (EGOI24_bikeparking)C++20
100 / 100
23 ms6332 KiB

//pB
#include<bits/stdc++.h>
using namespace std;
#define LL long long
const int maxn = 3e5+10;

int n;
LL ans=0;
LL x[maxn], y[maxn];


signed main(){
    ios_base::sync_with_stdio(0);  cin.tie(0);

    cin>>n;

    for(int i=0; i<n; i++)  cin>>y[i]; // 房間
    for(int i=0; i<n; i++)  cin>>x[i]; // 人

    stack<int> st;
    for(int i=0; i<n; i++){
        while(!st.empty() and x[i]){
            int t=st.top();
            LL mi = min(y[t], x[i]);
            ans += mi;
            x[i] -= mi;
            y[t] -= mi;
            if(y[t] == 0)  st.pop();
        }
        st.push(i);
    }
    for(int i=n-1; i>=0; i--){
        if(x[i]==0)  continue;
        if(y[i]){
            LL mi = min(y[i], x[i]);
            x[i] -= mi;
            y[i] -= mi;
        }
        ans-=x[i];
    }
    cout<<ans;
    return 0;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…