#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
vector<int> cnt_slots(n), cnt_users(n);
for (int &i : cnt_slots) {
cin >> i;
}
for (int &i : cnt_users) {
cin >> i;
}
int ans = 0;
// for j<i with biggest j we pair cnt_slots[j] with cnt_users[i]
for (int i = 1, j = 0; i < n;) {
while (j >= i) {
i++;
}
if (i >= n) {
break;
}
int x = min(cnt_slots[j], cnt_users[i]);
ans += x;
cnt_slots[j] -= x, cnt_users[i] -= x;
if (cnt_users[i] == 0) {
i++;
}
if (cnt_slots[j] == 0) {
j++;
}
}
// remove equal
for (int i = 0; i < n; ++i) {
int x = min(cnt_slots[i], cnt_users[i]);
cnt_slots[i] -= x, cnt_users[i] -= x;
}
// everyone else rates negative
ans -= accumulate(cnt_users.begin(), cnt_users.end(), 0);
cout << ans << '\n';
}