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

int main()
{
	int n;
	cin>>n;
	
	vector<int> a(n),h(n);
	vector<ll> tree(n+1);
	
	for(int i=0;i<n;i++)
	cin>>h[i];
	
	for(int i=0;i<n;i++)
	cin>>a[i];
	
	for(int i=0;i<n;i++)
	{
		int index=h[i]-1;
		
		ll tmp=tree[index];
		
		while(index>0)
		{
			tmp=max(tree[index],tmp);
			index-=index&(-index);
		}
		
		index=h[i];
		
		while(index<=n)
		{
			tree[index]=max(tree[index],tmp+a[i]);
			index+=index&(-index);
		}
	}
	
	ll ans=0;
	
	int index=n;
		
	while(index>0)
	{
		ans=max(tree[index],ans);
		index-=index&(-index);
	}
	
	cout<<ans;
}