#include <bits/stdc++.h>
using namespace std;
int main(){
cin.tie(0);
ios::sync_with_stdio(0);
int n;
cin >> n;
vector<int> racks(n);
vector<int> ppl(n);
for(int i = 0; i < n; i++) cin >> racks[i];
for(int i = 0; i < n; i++) cin >> ppl[i];
// do upgrades: starting from n - 1
int curr_tier = n - 2;
int score = 0;
for(int i = n - 1; i > 0; i--){
// make sure we're on correct settings
if(ppl[i] == 0) continue;
if(curr_tier >= i) curr_tier = i - 1;
if(curr_tier < 0) break;
// assign ppl to slots
int remove = min(ppl[i], racks[curr_tier]);
score += remove;
ppl[i] -= remove;
racks[curr_tier] -= remove;
if(racks[curr_tier] == 0) curr_tier--;
}
// do samegrades
for(int i = 0; i < n; i++){
int remove = min(ppl[i], racks[i]);
ppl[i] -= remove;
racks[i] -= remove;
}
// do downgrades
for(int i = 0; i < n; i++) score -= ppl[i];
cout << score << "\n";
}