Submission #1228597

#TimeUsernameProblemLanguageResultExecution timeMemory
1228597gry3125Bikeparking (EGOI24_bikeparking)C++20
25 / 100
83 ms4940 KiB
#include <bits/stdc++.h>
#define pb push_back
#define all(v) (v).begin(),(v).end()
#define ll long long int
using namespace std;

int main() {
    ll n; cin >> n;
    vector<ll> x(n), y(n);
    for (int i = 0; i < n; i++) cin >> x[i];
    for (int i = 0; i < n; i++) cin >> y[i];
    
    ll cur = 1, r = 0;
    for (int i = 0; i < n; i++) {
    	while (x[i] != 0 && cur < n) {
    		if (y[cur] == 0 || cur <= i) {
    			cur++; continue;
    		}
    		if (y[cur] < x[i]) {
    			x[i] -= y[cur];
    			r += y[cur]; 
    			y[cur] = 0;
    		} else {
    			y[cur] -= x[i]; 
    			r += x[i];
    			x[i] = 0;
    		}
    	}
    }
    for (int i = 0; i < n; i++) {
    	if (x[i] > 0 && y[i] > 0) {
    		y[i] = max(0LL, y[i]-x[i]);
    	}
    }
    for (int i = 0; i < n; i++) r -= y[i];
    cout << r;
    
    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...