#include<bits/stdc++.h>
typedef long long ll;
typedef unsigned long long ull;
#define str string
#define fi first
#define se second
#define all(x) (x).begin(),(x).end()
#define pb push_back
#define pii pair<int,int>
#define el "\n"
#define foR(i,a,b) for(int i=a;i<=b;i++)
#define FoR(i,b,a) for(int i=b;i>=a;i--)
#define de(n,a) for(int i=1;i<=n;i++) cout<<a[i]<<" ";cout<<el;
using namespace std;
const int N = 1e6;
const str NAME = "Flowers";
struct mang
{
int id , nen , bd ;
ll val ;
}a[N+2];
void freop() {
freopen( (NAME + ".inp" ).c_str(), "r" , stdin );
freopen( (NAME + ".out" ).c_str(), "w" , stdout );
}
int n ;
ll res , bit[N+2] ;
vector < int > v ;
void nen(){
foR(i,1,n) v.push_back( a[i].bd ) ;
sort(all(v));
v.erase(unique(all(v)),v.end()) ;
foR(i,1,n) {
a[i].nen = lower_bound(all(v) , a[i].bd) - v.begin() + 1 ;
}
}
void upd ( int &x , ll &val ) {
while ( x <= n ) {
bit[x] = max ( bit[x] , val ) ;
x += x&-x ;
}
}
ll get ( int x ) {
ll s = 0 ;
while ( x > 0 ) {
s = max ( s , bit[x] );
x -= x&-x ;
}
return s ;
}
int main(){
ios_base::sync_with_stdio(0) ; cin.tie(0) ; cout.tie(0) ;
// freop() ;
cin >> n ;
foR(i,1,n) cin >> a[i].bd;
foR(i,1,n) cin >> a[i].val ;
nen() ;
foR(i,1,n) {
ll k = get(a[i].nen-1) + a[i].val ;
res = max ( res , k ) ;
upd ( a[i].nen , k ) ;
}
cout << res ;
return 0 ;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVsbDsKI2RlZmluZSBzdHIgc3RyaW5nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBhbGwoeCkgKHgpLmJlZ2luKCksKHgpLmVuZCgpIAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgZWwgIlxuIgojZGVmaW5lIGZvUihpLGEsYikgZm9yKGludCBpPWE7aTw9YjtpKyspCiNkZWZpbmUgRm9SKGksYixhKSBmb3IoaW50IGk9YjtpPj1hO2ktLSkKI2RlZmluZSBkZShuLGEpIGZvcihpbnQgaT0xO2k8PW47aSsrKSBjb3V0PDxhW2ldPDwiICI7Y291dDw8ZWw7Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTiA9IDFlNjsKY29uc3Qgc3RyIE5BTUUgPSAiRmxvd2VycyI7CgpzdHJ1Y3QgbWFuZwp7CiAgICBpbnQgaWQgLCBuZW4gLCBiZCAgOwogICAgbGwgdmFsIDsKfWFbTisyXTsKCgp2b2lkIGZyZW9wKCkgewogICAgZnJlb3BlbiggKE5BTUUgKyAiLmlucCIgKS5jX3N0cigpLCAiciIgLCBzdGRpbiApOwogICAgZnJlb3BlbiggKE5BTUUgKyAiLm91dCIgKS5jX3N0cigpLCAidyIgLCBzdGRvdXQgKTsKfQoKaW50IG4gOwpsbCByZXMgLCBiaXRbTisyXSA7CnZlY3RvciA8IGludCA+IHYgOwp2b2lkIG5lbigpewogICAgZm9SKGksMSxuKSB2LnB1c2hfYmFjayggYVtpXS5iZCApIDsKICAgIHNvcnQoYWxsKHYpKTsKICAgIHYuZXJhc2UodW5pcXVlKGFsbCh2KSksdi5lbmQoKSkgOwogICAgZm9SKGksMSxuKSB7CiAgICAgICAgYVtpXS5uZW4gPSBsb3dlcl9ib3VuZChhbGwodikgLCBhW2ldLmJkKSAtIHYuYmVnaW4oKSArIDEgOwogICAgfQp9Cgp2b2lkIHVwZCAoIGludCAgJnggLCBsbCAmdmFsICkgewogICAgd2hpbGUgKCB4IDw9IG4gKSB7CiAgICAgICAgYml0W3hdID0gbWF4ICggYml0W3hdICwgdmFsICkgOwogICAgICAgIHggKz0geCYteCA7CiAgICB9Cn0KbGwgZ2V0ICggaW50IHggKSB7CiAgICBsbCBzID0gMCA7CiAgICB3aGlsZSAoIHggPiAwICkgewogICAgICAgIHMgPSBtYXggKCBzICwgYml0W3hdICk7CiAgICAgICAgeCAtPSB4Ji14IDsKICAgIH0KICAgIHJldHVybiBzIDsKfQoKaW50IG1haW4oKXsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCkgOyBjaW4udGllKDApIDsgY291dC50aWUoMCkgOwoKICAgIC8vIGZyZW9wKCkgOwoKICAgIGNpbiA+PiBuIDsKICAgIGZvUihpLDEsbikgY2luID4+IGFbaV0uYmQ7CiAgICBmb1IoaSwxLG4pIGNpbiA+PiBhW2ldLnZhbCA7CgogICAgbmVuKCkgOwoKICAgIGZvUihpLDEsbikgewogICAgICAgIGxsIGsgPSBnZXQoYVtpXS5uZW4tMSkgKyBhW2ldLnZhbCA7IAogICAgICAgIHJlcyA9IG1heCAoIHJlcyAsIGsgKSA7CiAgICAgICAgdXBkICggYVtpXS5uZW4gLCBrICkgOwogICAgfQogICAgY291dCA8PCByZXMgOwogICAgcmV0dXJuIDAgOwp9Cg==