Submission #1197674

#TimeUsernameProblemLanguageResultExecution timeMemory
1197674veehzBikeparking (EGOI24_bikeparking)C++20
40 / 100
1096 ms2632 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef long double ld;
#define pb push_back

void solve() {
	int n; cin >> n;
	vector<int> slot(n), ppl(n);
	for(int i=0;i<n;i++) cin >> slot[i];
	for(int i=0;i<n;i++) cin >> ppl[i];

	ll ans = 0;
	// int ind = 0;
	for(int gap=1;gap<n;gap++){
		for(int i=0;i<n;i++){
			// i, i+gap
			if(i + gap >= n) break;
			int give = min(slot[i], ppl[i+gap]);
			slot[i] -= give;
			ppl[i+gap] -= give;
			ans += give;
		}
	}
	for(int i=0;i<n;i++){
		int give = min(slot[i], ppl[i]);
		slot[i] -= give;
		ppl[i] -= give;
	}
	cout << ans - accumulate(ppl.begin(), ppl.end(), 0LL) << endl;
}

int main(){
	int tc = 1;
	while(tc--) solve();
}
#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...