#include <bits/stdc++.h>
#define int long long
#define maxn 200005
using namespace std;

int h[maxn], a[maxn], bit[maxn] = {};
int n;

void upd(int x, int v) {
    for(int i = x; i < maxn; i += i & (-i)) {
        bit[i] = max(bit[i], v);
    }
}

int ask(int x) {
    int ret = 0;
    for(int i = x; i > 0; i -= i & (-i)) {
        ret = max(ret, bit[i]);
    }
    return ret;
}


int32_t main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> h[i];
    for(int i = 1; i <= n; i++) cin >> a[i];
    for(int i = 1; i <= n; i++) {
        int x = ask(h[i]);
        upd(h[i], a[i] + x);
    }
    cout << ask(n) << '\n';
    return 0;
}
