#include <bits/stdc++.h>
using namespace std;
 
 
long long int fn[200001];
int n;
 
 
void insert(int i,long long int v){
	for(int x=i;x<=n;x+=x&-x){
		fn[x]=max(fn[x],v);
	}
}
 
long long int query(int i){
	long long int ans=0;
	for(int x=i;x>0;x-=x&-x){
		ans=max(ans,fn[x]);
	}
	return ans;
}
 
int main(){
	
	ios_base::sync_with_stdio(false);
	cin.tie(NULL); 
	cin >> n;
	long long int a[n],h[n],dp[n];
	for(int i=0;i<n;i++) cin >> h[i];
	for(int i=0;i<n;i++) cin >> a[i];
	long long int ans=0;
	for(int i=0;i<n;i++){
		long long int temp = query(h[i]-1);
		dp[i] = temp+a[i];
		insert(h[i],dp[i]);
		ans=max(ans,dp[i]);
	}
	cout << ans;
 
 
 
	

 
}