Submission #1207601

#TimeUsernameProblemLanguageResultExecution timeMemory
1207601trimkusBikeparking (EGOI24_bikeparking)C++20
100 / 100
86 ms2760 KiB
#include <bits/stdc++.h>
using namespace std;



int main() {
	//~ ifstream cin("input.txt");
	int n;
	cin >> n;
	vector<int> a(n), b(n);
	int cnt = 0;
	for (int i = 0; i < n; ++i) {
		cin >> a[i];
	}
	for (int i = 0; i < n; ++i) {
		cin >> b[i];
		cnt += b[i];
	}
	//~ cout << cnt << endl;
	int res1 = 0, res2 = 0;
	int free = 0, ind = 0;
	for (int i = 0; i < n; ++i) {
		int take = min(b[i], free);
		res1 += take;
		b[i] -= take;
		free -= take;
		take = min(b[i], ind);
		res1 += take;
		res2 += take;
		ind -= take;
		b[i] -= take;
		take = min(a[i], b[i]);
		b[i] -= take;
		ind += take;
		a[i] -= take;
		res2 += b[i];
		free += a[i];
	}
	//~ for (int i = n - 1; i >= 0; --i) {
		//~ int take = min(b[i], a[i]);
		//~ b[i] -= take;
		//~ res -= b[i];
	//~ }
	cout << res1 - res2 << "\n";
}
/*
10
0 0 0 0 0 0 0 1 1 1
1 0 0 1 0 1 0 0 0 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...