제출 #1347477

#제출 시각아이디문제언어결과실행 시간메모리
1347477julia_08Bikeparking (EGOI24_bikeparking)C++20
25 / 100
19 ms7452 KiB
#include <bits/stdc++.h>
#define int long long

using namespace std;

const int MAXN = 3e5 + 10;

int x[MAXN], y[MAXN], suf[MAXN];

int32_t main(){
  cin.tie(0)->sync_with_stdio(0);

  int n; cin >> n;

  for(int i=1; i<=n; i++) cin >> x[i];

  for(int i=1; i<=n; i++) cin >> y[i];

  suf[n + 1] = 0;
  
  for(int i=n; i>=1; i--) suf[i] = suf[i + 1] + y[i];

  int cnt = 0;

  int ans = 0;

  for(int i=1; i<=n; i++){

    int cur = min(cnt, y[i]);

    y[i] -= cur;
    
    cnt -= cur;
    cnt += x[i];

    ans += cur;

    if(x[i] > suf[i + 1]){
      
      x[i] -= suf[i + 1];
      y[i] = max(0LL, y[i] - x[i]);
    
    }

    ans -= y[i];

  }

  cout << ans << "\n";

  return 0;
}
#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...