#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
ll n, h[200010], a[200010], bit[200010], ans;

void update(ll p, ll v){
	for(ll i=p; i<=n; i+=i&-i)
		bit[i] = max(bit[i], v);
}

ll rangemax(ll p){
	ll res = 0;
	for(ll i=p; i>0; i-=i&-i)
		res = max(res, bit[i]);
	return res;
}

int main(){
	cin.tie(0);
	ios::sync_with_stdio(false);
	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){
		ll t = rangemax(h[i]-1) + a[i];
		ans = max(ans, t);
		update(h[i], t);
	}
	cout << ans << "\n";
}