Submission #1197648

#TimeUsernameProblemLanguageResultExecution timeMemory
1197648veehzBikeparking (EGOI24_bikeparking)C++20
25 / 100
79 ms2636 KiB
#include <bits/stdc++.h>
using namespace std;

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

int main(){
	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 i=0;i<n;i++){
		ind = max(i+1, ind);
		while(slot[i] && ind < n) {
			int give = min(slot[i], ppl[ind]);
			ppl[ind] -= give;
			slot[i] -= give;
			ans += give;
			if(ppl[ind] == 0) ind++;
		}
		if(ind == n) break;
	}
	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;
}
#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...