#include <bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,a,b) for (int i = a; i <= b; i++)
#define per(i,a,b) for (int i = a; i >= b; i--)
#define pii pair<int,int>
#define pb push_back
#define fi first
#define se second
#define all(v) (v).begin(), (v).end()
const int MAXN = 3e5+10;
const int INF = 1e18+10;
const int MOD = 1e9+7;
int a[MAXN], b[MAXN];
int cmp(int x, int y) {
if(x<y) return 1;
if(x==y) return 0;
return -1;
}
void solve() {
int n; cin >> n;
rep(i,1,n) cin >> a[i];
rep(i,1,n) cin >> b[i];
set<pii> st;
rep(i,1,n) {
if(a[i] > 0) {
st.insert({i,a[i]});
}
}
int ans = 0;
per(i,n,1) {
while(b[i]>0) {
auto it = st.upper_bound({i,-1});
if(it!=st.begin()) it--;
auto [id, cnt] = *it;
st.erase(it);
if(it->se > b[i]) {
st.insert({id,cnt-b[i]});
ans += b[i]*cmp(id,i);
b[i] = 0;
} else {
b[i] -= cnt;
ans += cnt*cmp(id,i);
}
}
}
cout << ans << endl;
}
int32_t main() {
ios_base::sync_with_stdio(0); cin.tie(nullptr);
int tt = 1;
//cin >> tt;
while (tt--) solve();
return 0;
}