#include<bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;
int etenema = 0;
int d[200001];
int c[200001];
long long v[200001];
long long tv;
int t;
c[0] = 0;
string line;
getline(cin, line);
stringstream split_n(line);
split_n >> n;
getline(cin, line);
stringstream split_d(line);
getline(cin, line);
stringstream split_c(line);
// split_d >> d[0];
// int i = 1;
// while (i < n) {
// split_d >> d[i];
// split_c >> c[i];
// v[i] = LLONG_MAX;
// i++;
// }
v[n] = LLONG_MAX;
d[n] = 0;
c[n] = 0;
v[0] = 0;
// i = 0;
// while (i < n) {
// int j = i+1;
// int t = min(i+d[i],n);
// while (j <= t) {
// v[j] = (v[j] > v[i]+c[j]) ? v[i]+c[j] : v[j];
// j++;
// }
// i++;
// }
for (int i = 0; i < n; i++) {
split_d >> d[i];
t = min(i+d[i],n);
if (v[i] < v[n]) {
for (int j = i+1; j <= t; j++) {
tv = v[i]+c[j]
if (etenema == n && tv > v[n])
continue;
if (j > etenema) {
split_c >> c[j];
etenema = j;
v[j] = tv;
} else {
v[j] = min(tv,v[j]);
}
}
}
}
// for (auto val : v)
// cout << val << " ";
cout << v[n];
}