#include <bits/stdc++.h>
using namespace std;
int main() {
//~ ifstream cin("input.txt");
int n;
cin >> n;
vector<int> a(n), b(n);
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
for (int i = 0; i < n; ++i) {
cin >> b[i];
}
stack<int> st;
int res1 = 0, res2 = 0;
for (int i = 0; i < n; ++i) {
if (i && a[i - 1]) st.push(i - 1);
while (st.size() && b[i]) {
int j = st.top();
int take = min(b[i], a[j]);
b[i] -= take;
a[j] -= take;
res1 += take;
if (a[j] == 0) st.pop();
}
}
for (int i = 0; i < n; ++i) {
int take = min(a[i], b[i]);
a[i] -= take;
b[i] -= take;
res2 += b[i];
}
cout << res1 - res2 << "\n";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |