#include <bits/stdc++.h>
#include <boost/multiprecision/cpp_int.hpp>
#include <boost/multiprecision/cpp_dec_float.hpp>
using namespace std;
/***** type *****/
using ll = long long;
using ld = long double;
using ml = boost::multiprecision::cpp_int;
using md = boost::multiprecision::cpp_dec_float_100;
using pll = pair<long, long>;
template <class T> using vt = vector<T>;
template <class T> using vvt = vector<vector<T>>;
template <class T> using vvvt = vector<vector<vector<T>>>;
template <class T> using uset = unordered_set<T>;
template <class T1, class T2> using umap = unordered_map<T1, T2>;
/***** define *****/
#define all(c) (c).begin(), (c).end() // begin to end
#define coutld cout << fixed << setprecision(10) // cout long double
#define rep(i, b, e) for (ll i = b; i < e; i++) // repeat
#define repr(i, b, e) for (ll i = b; e < i; i--) // repeat reverse
#define pair NyaaPair // nyaa pair
#define first f // pair::first
#define second s // pair::second
/***** const value *****/
#define llong_max 9223372036854775807 // 9 * 10^18
#define ldbl_max 1.79769e+308 // 1.7 * 10^308
#define pi 3.1415926535897932 // 3.14 ...
#define loop_end 9223372036854775806 // LLONG_MAX-1
/***** for each macro *****/
#define fori(i, ...) if(ll i = -1) for(__VA_ARGS__) if(i++, true)
#define each(i, e, c) fori(i, auto& e: c)
#define forir(i, v, ...) if(ll i=(ll)v.size())for(__VA_ARGS__)if(i--,true)
#define eachr(i, e, c) forir(i, auto e = c.rbegin(); e != c.rend(); ++e)
/***** lambda *****/
auto Count = [] // long long count value
(auto b, auto e, auto x) { return (ll)count(b, e, x); };
auto CtoL = [] // char to number
(auto c) { return (ll)(c - '0'); };
auto CeilD = [] // long double ceiling div
(auto a, auto b) { return ceil((ld)a / (ld)b); };
auto Fix = [] // fix value
(auto b, auto e, auto fix)
{ for (auto it = b; it != e; ++it) *it += fix; };
auto LtoC = [] // number to char
(auto n) { return (char)('0' + n); };
auto Pow = [] // long long pow
(auto a, auto b) { return (ll)pow(a, b); };
auto Pow2 = [] // long long pow2
(auto n) { return (1LL << n); };
auto Pow10 = [] // long long pow10
(auto n) { return (ll)pow(10, n); };
auto Size = [] // long long collection size
(auto& c) { return (ll)(c).size(); };
auto Sum = [] // long long accumulate
(auto b, auto e) { return accumulate(b, e, 0LL); };
/***** template *****/
template <class T> void MakeVVT
(ll ys, ll xs, vvt<T>& v, T fill = T())
{ // vector<vector<T>> resize + fill
v.resize(ys); rep(y, 0, ys) v[y].resize(xs, fill);
}
template <class T> void MakeVVVT
(ll zs, ll ys, ll xs, vvvt<T>& v, T fill = T())
{ // vector<vector<vector<T>>> resize + fill
v.resize(zs); rep(z, 0, zs) MakeVVT(ys, xs, v[z], fill);
}
template <class T> void InputVT
(ll xs, vt<T>& v, T fix = T())
{ // input vector<T> (T != struct) + fix
v.resize(xs); rep(i, 0, xs) { cin >> v[i]; v[i] += fix; }
}
template <class T> void InputVVT
(ll ys, ll xs, vvt<T>& v, T fix = T())
{ // input vector<vector<T>> (T != struct) + fix
MakeVVT(ys, xs, v, fix);
rep(y, 0, ys) rep(x, 0, xs) { cin >> v[y][x]; v[y][x] += fix; }
}
template <class T> void InputVVVT
(ll zs, ll ys, ll xs, vvvt<T>& v, T fix = T())
{ // input vector<vector<vector<T>>> (T != struct) + fix
v.resize(zs); rep(z, 0, zs) InputVVT(ys, xs, v[z], fix);
}
template <class T1, class T2> struct NyaaPair
{ // nyaa pair template
T1 f; T2 s;
};
template <class T1, class T2> bool
operator < (const NyaaPair<T1, T2>& l, const NyaaPair<T1, T2>& r)
{ // nyaa pair template operator <
return (l.f != r.f) ? l.f < r.f : l.s < r.s;
}
template <class T1, class T2> bool
operator > (const NyaaPair<T1, T2>& l, const NyaaPair<T1, T2>& r)
{ // nyaa pair template operator >
return (l.f != r.f) ? l.f > r.f : l.s > r.s;
}
/**************************************/
/********** BEGIN OF NYA LIB **********/
/**************************************/
namespace NyaGadget {}
namespace NyaGadget
{
template <class T> struct SegmentTreeRMQ
{
long long n;
vector<T> node;
SegmentTreeRMQ(long long size)
{
n = 1;
while (n < size) n *= 2;
node.resize(2 * n - 1, 0);
}
SegmentTreeRMQ(vector<T> v)
{
n = 1;
while (n < (long long)v.size()) n *= 2;
node.resize(2 * n - 1, 0);
for (long long i = 0; i < (long long)v.size(); i++) node[i + n - 1] = v[i];
for (long long i = n - 2; i >= 0; i--) node[i] = max(node[i * 2 + 1], node[i * 2 + 2]);
}
void update(long long index, T x)
{
index += (n - 1);
node[index] = x;
while (index > 0)
{
index = (index - 1) / 2;
node[index] = max(node[index * 2 + 1], node[index * 2 + 2]);
}
}
T GetMax(long long lindex, long long rindex, long long k = 0, long long l = 0, long long r = -1)
{
if (r < 0) r = n;
if (r <= lindex || rindex <= l) return 0;
if (lindex <= l && r <= rindex) return node[k];
T vl = GetMax(lindex, rindex, k * 2 + 1, l, (l + r) / 2);
T vr = GetMax(lindex, rindex, k * 2 + 2, (l + r) / 2, r);
return max(vl, vr);
}
};
}
/**************************************/
/*********** END OF NYA LIB ***********/
/**************************************/
using namespace NyaGadget;
//using mll = ModLL< 1000000007 >;
//using mll = ModLL< 998244353 >;
struct Nyaa
{
ll h;
ll a;
ll i;
};
auto NyaaSort = [](const Nyaa& l, const Nyaa& r)
{ // 降順は演算子>, 昇順は演算子<, if順の優先でソートされる
return l.h < r.h;
};
int main(void)
{
ll N; cin >> N;
vt<ll> h; InputVT(N, h);
vt<ll> a; InputVT(N, a);
vt<Nyaa> f;
rep(i, 0, N) f.push_back({ h[i], a[i], i });
sort(all(f), NyaaSort);
SegmentTreeRMQ<ll> tree(N);
each(i, e, f)
{
ll test = tree.GetMax(0, e.i);
tree.update(e.i, test + e.a);
}
cout << tree.GetMax(0, N);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxib29zdC9tdWx0aXByZWNpc2lvbi9jcHBfaW50LmhwcD4KI2luY2x1ZGUgPGJvb3N0L211bHRpcHJlY2lzaW9uL2NwcF9kZWNfZmxvYXQuaHBwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLyoqKioqIHR5cGUgKioqKiovCnVzaW5nIGxsID0gbG9uZyBsb25nOwp1c2luZyBsZCA9IGxvbmcgZG91YmxlOwp1c2luZyBtbCA9IGJvb3N0OjptdWx0aXByZWNpc2lvbjo6Y3BwX2ludDsKdXNpbmcgbWQgPSBib29zdDo6bXVsdGlwcmVjaXNpb246OmNwcF9kZWNfZmxvYXRfMTAwOwp1c2luZyBwbGwgPSBwYWlyPGxvbmcsIGxvbmc+Owp0ZW1wbGF0ZSA8Y2xhc3MgVD4gdXNpbmcgdnQgPSB2ZWN0b3I8VD47CnRlbXBsYXRlIDxjbGFzcyBUPiB1c2luZyB2dnQgPSB2ZWN0b3I8dmVjdG9yPFQ+PjsKdGVtcGxhdGUgPGNsYXNzIFQ+IHVzaW5nIHZ2dnQgPSB2ZWN0b3I8dmVjdG9yPHZlY3RvcjxUPj4+Owp0ZW1wbGF0ZSA8Y2xhc3MgVD4gdXNpbmcgdXNldCA9IHVub3JkZXJlZF9zZXQ8VD47CnRlbXBsYXRlIDxjbGFzcyBUMSwgY2xhc3MgVDI+IHVzaW5nIHVtYXAgPSB1bm9yZGVyZWRfbWFwPFQxLCBUMj47CgovKioqKiogZGVmaW5lICoqKioqLwojZGVmaW5lIGFsbChjKSAoYykuYmVnaW4oKSwgKGMpLmVuZCgpICAgICAgICAgICAgLy8gYmVnaW4gdG8gZW5kCiNkZWZpbmUgY291dGxkIGNvdXQgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKDEwKSAvLyBjb3V0IGxvbmcgZG91YmxlCiNkZWZpbmUgcmVwKGksIGIsIGUpIGZvciAobGwgaSA9IGI7IGkgPCBlOyBpKyspICAvLyByZXBlYXQKI2RlZmluZSByZXByKGksIGIsIGUpIGZvciAobGwgaSA9IGI7IGUgPCBpOyBpLS0pIC8vIHJlcGVhdCByZXZlcnNlCiNkZWZpbmUgcGFpciBOeWFhUGFpciAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBueWFhIHBhaXIKI2RlZmluZSBmaXJzdCBmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBhaXI6OmZpcnN0CiNkZWZpbmUgc2Vjb25kIHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwYWlyOjpzZWNvbmQKLyoqKioqIGNvbnN0IHZhbHVlICoqKioqLwojZGVmaW5lIGxsb25nX21heCA5MjIzMzcyMDM2ODU0Nzc1ODA3ICAgICAgICAgICAgLy8gOSAqIDEwXjE4CiNkZWZpbmUgbGRibF9tYXggMS43OTc2OWUrMzA4ICAgICAgICAgICAgICAgICAgICAvLyAxLjcgKiAxMF4zMDgKI2RlZmluZSBwaSAzLjE0MTU5MjY1MzU4OTc5MzIgICAgICAgICAgICAgICAgICAgIC8vIDMuMTQgLi4uCiNkZWZpbmUgbG9vcF9lbmQgOTIyMzM3MjAzNjg1NDc3NTgwNiAgICAgICAgICAgICAvLyBMTE9OR19NQVgtMQovKioqKiogZm9yIGVhY2ggbWFjcm8gKioqKiovCiNkZWZpbmUgZm9yaShpLCAuLi4pIGlmKGxsIGkgPSAtMSkgZm9yKF9fVkFfQVJHU19fKSBpZihpKyssIHRydWUpCiNkZWZpbmUgZWFjaChpLCBlLCBjKSBmb3JpKGksIGF1dG8mIGU6IGMpCiNkZWZpbmUgZm9yaXIoaSwgdiwgLi4uKSBpZihsbCBpPShsbCl2LnNpemUoKSlmb3IoX19WQV9BUkdTX18paWYoaS0tLHRydWUpCiNkZWZpbmUgZWFjaHIoaSwgZSwgYykgZm9yaXIoaSwgYXV0byBlID0gYy5yYmVnaW4oKTsgZSAhPSBjLnJlbmQoKTsgKytlKQoKLyoqKioqIGxhbWJkYSAqKioqKi8KYXV0byBDb3VudCA9IFtdIC8vIGxvbmcgbG9uZyBjb3VudCB2YWx1ZQooYXV0byBiLCBhdXRvIGUsIGF1dG8geCkgeyByZXR1cm4gKGxsKWNvdW50KGIsIGUsIHgpOyB9OwphdXRvIEN0b0wgPSBbXSAvLyBjaGFyIHRvIG51bWJlcgooYXV0byBjKSB7IHJldHVybiAobGwpKGMgLSAnMCcpOyB9OwphdXRvIENlaWxEID0gW10gLy8gbG9uZyBkb3VibGUgY2VpbGluZyBkaXYKKGF1dG8gYSwgYXV0byBiKSB7IHJldHVybiBjZWlsKChsZClhIC8gKGxkKWIpOyB9OwphdXRvIEZpeCA9IFtdIC8vIGZpeCB2YWx1ZQooYXV0byBiLCBhdXRvIGUsIGF1dG8gZml4KQp7IGZvciAoYXV0byBpdCA9IGI7IGl0ICE9IGU7ICsraXQpICppdCArPSBmaXg7IH07CmF1dG8gTHRvQyA9IFtdIC8vIG51bWJlciB0byBjaGFyCihhdXRvIG4pIHsgcmV0dXJuIChjaGFyKSgnMCcgKyBuKTsgfTsKYXV0byBQb3cgPSBbXSAvLyBsb25nIGxvbmcgcG93CihhdXRvIGEsIGF1dG8gYikgeyByZXR1cm4gKGxsKXBvdyhhLCBiKTsgfTsKYXV0byBQb3cyID0gW10gLy8gbG9uZyBsb25nIHBvdzIKKGF1dG8gbikgeyByZXR1cm4gKDFMTCA8PCBuKTsgfTsKYXV0byBQb3cxMCA9IFtdIC8vIGxvbmcgbG9uZyBwb3cxMAooYXV0byBuKSB7IHJldHVybiAobGwpcG93KDEwLCBuKTsgfTsKYXV0byBTaXplID0gW10gIC8vIGxvbmcgbG9uZyBjb2xsZWN0aW9uIHNpemUKKGF1dG8mIGMpIHsgcmV0dXJuIChsbCkoYykuc2l6ZSgpOyB9OwphdXRvIFN1bSA9IFtdIC8vIGxvbmcgbG9uZyBhY2N1bXVsYXRlCihhdXRvIGIsIGF1dG8gZSkgeyByZXR1cm4gYWNjdW11bGF0ZShiLCBlLCAwTEwpOyB9OwoKLyoqKioqIHRlbXBsYXRlICoqKioqLwp0ZW1wbGF0ZSA8Y2xhc3MgVD4gdm9pZCBNYWtlVlZUCihsbCB5cywgbGwgeHMsIHZ2dDxUPiYgdiwgVCBmaWxsID0gVCgpKQp7CS8vIHZlY3Rvcjx2ZWN0b3I8VD4+IHJlc2l6ZSArIGZpbGwKCXYucmVzaXplKHlzKTsgcmVwKHksIDAsIHlzKSB2W3ldLnJlc2l6ZSh4cywgZmlsbCk7Cn0KdGVtcGxhdGUgPGNsYXNzIFQ+IHZvaWQgTWFrZVZWVlQKKGxsIHpzLCBsbCB5cywgbGwgeHMsIHZ2dnQ8VD4mIHYsIFQgZmlsbCA9IFQoKSkKewkvLyB2ZWN0b3I8dmVjdG9yPHZlY3RvcjxUPj4+IHJlc2l6ZSArIGZpbGwKCXYucmVzaXplKHpzKTsgcmVwKHosIDAsIHpzKSBNYWtlVlZUKHlzLCB4cywgdlt6XSwgZmlsbCk7Cn0KdGVtcGxhdGUgPGNsYXNzIFQ+IHZvaWQgSW5wdXRWVAoobGwgeHMsIHZ0PFQ+JiB2LCBUIGZpeCA9IFQoKSkKewkvLyBpbnB1dCB2ZWN0b3I8VD4gKFQgIT0gc3RydWN0KSArIGZpeAoJdi5yZXNpemUoeHMpOyByZXAoaSwgMCwgeHMpIHsgY2luID4+IHZbaV07IHZbaV0gKz0gZml4OyB9Cn0KdGVtcGxhdGUgPGNsYXNzIFQ+IHZvaWQgSW5wdXRWVlQKKGxsIHlzLCBsbCB4cywgdnZ0PFQ+JiB2LCBUIGZpeCA9IFQoKSkKewkvLyBpbnB1dCB2ZWN0b3I8dmVjdG9yPFQ+PiAoVCAhPSBzdHJ1Y3QpICsgZml4CglNYWtlVlZUKHlzLCB4cywgdiwgZml4KTsKCXJlcCh5LCAwLCB5cykgcmVwKHgsIDAsIHhzKSB7IGNpbiA+PiB2W3ldW3hdOyB2W3ldW3hdICs9IGZpeDsgfQp9CnRlbXBsYXRlIDxjbGFzcyBUPiB2b2lkIElucHV0VlZWVAoobGwgenMsIGxsIHlzLCBsbCB4cywgdnZ2dDxUPiYgdiwgVCBmaXggPSBUKCkpCnsJLy8gaW5wdXQgdmVjdG9yPHZlY3Rvcjx2ZWN0b3I8VD4+PiAoVCAhPSBzdHJ1Y3QpICsgZml4Cgl2LnJlc2l6ZSh6cyk7IHJlcCh6LCAwLCB6cykgSW5wdXRWVlQoeXMsIHhzLCB2W3pdLCBmaXgpOwp9CnRlbXBsYXRlIDxjbGFzcyBUMSwgY2xhc3MgVDI+IHN0cnVjdCBOeWFhUGFpcgp7CS8vIG55YWEgcGFpciB0ZW1wbGF0ZQoJVDEgZjsgVDIgczsKfTsKdGVtcGxhdGUgPGNsYXNzIFQxLCBjbGFzcyBUMj4gYm9vbApvcGVyYXRvciA8IChjb25zdCBOeWFhUGFpcjxUMSwgVDI+JiBsLCBjb25zdCBOeWFhUGFpcjxUMSwgVDI+JiByKQp7CS8vIG55YWEgcGFpciB0ZW1wbGF0ZSBvcGVyYXRvciA8CglyZXR1cm4gKGwuZiAhPSByLmYpID8gbC5mIDwgci5mIDogbC5zIDwgci5zOwp9CnRlbXBsYXRlIDxjbGFzcyBUMSwgY2xhc3MgVDI+IGJvb2wKb3BlcmF0b3IgPiAoY29uc3QgTnlhYVBhaXI8VDEsIFQyPiYgbCwgY29uc3QgTnlhYVBhaXI8VDEsIFQyPiYgcikKewkvLyBueWFhIHBhaXIgdGVtcGxhdGUgb3BlcmF0b3IgPgoJcmV0dXJuIChsLmYgIT0gci5mKSA/IGwuZiA+IHIuZiA6IGwucyA+IHIuczsKfQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKioqKioqKioqKiBCRUdJTiBPRiBOWUEgTElCICoqKioqKioqKiovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCm5hbWVzcGFjZSBOeWFHYWRnZXQge30KCm5hbWVzcGFjZSBOeWFHYWRnZXQKewoJdGVtcGxhdGUgPGNsYXNzIFQ+IHN0cnVjdCBTZWdtZW50VHJlZVJNUQoJewoJCWxvbmcgbG9uZyBuOwoJCXZlY3RvcjxUPiBub2RlOwoKCQlTZWdtZW50VHJlZVJNUShsb25nIGxvbmcgc2l6ZSkKCQl7CgkJCW4gPSAxOwoJCQl3aGlsZSAobiA8IHNpemUpIG4gKj0gMjsKCQkJbm9kZS5yZXNpemUoMiAqIG4gLSAxLCAwKTsKCQl9CgoJCVNlZ21lbnRUcmVlUk1RKHZlY3RvcjxUPiB2KQoJCXsKCQkJbiA9IDE7CgkJCXdoaWxlIChuIDwgKGxvbmcgbG9uZyl2LnNpemUoKSkgbiAqPSAyOwoJCQlub2RlLnJlc2l6ZSgyICogbiAtIDEsIDApOwoJCQlmb3IgKGxvbmcgbG9uZyBpID0gMDsgaSA8IChsb25nIGxvbmcpdi5zaXplKCk7IGkrKykgbm9kZVtpICsgbiAtIDFdID0gdltpXTsKCQkJZm9yIChsb25nIGxvbmcgaSA9IG4gLSAyOyBpID49IDA7IGktLSkgbm9kZVtpXSA9IG1heChub2RlW2kgKiAyICsgMV0sIG5vZGVbaSAqIDIgKyAyXSk7CgkJfQoKCQl2b2lkIHVwZGF0ZShsb25nIGxvbmcgaW5kZXgsIFQgeCkKCQl7CgkJCWluZGV4ICs9IChuIC0gMSk7CgkJCW5vZGVbaW5kZXhdID0geDsKCQkJd2hpbGUgKGluZGV4ID4gMCkKCQkJewoJCQkJaW5kZXggPSAoaW5kZXggLSAxKSAvIDI7CgkJCQlub2RlW2luZGV4XSA9IG1heChub2RlW2luZGV4ICogMiArIDFdLCBub2RlW2luZGV4ICogMiArIDJdKTsKCQkJfQoJCX0KCgkJVCBHZXRNYXgobG9uZyBsb25nIGxpbmRleCwgbG9uZyBsb25nIHJpbmRleCwgbG9uZyBsb25nIGsgPSAwLCBsb25nIGxvbmcgbCA9IDAsIGxvbmcgbG9uZyByID0gLTEpCgkJewoJCQlpZiAociA8IDApIHIgPSBuOwoJCQlpZiAociA8PSBsaW5kZXggfHwgcmluZGV4IDw9IGwpIHJldHVybiAwOwoJCQlpZiAobGluZGV4IDw9IGwgJiYgciA8PSByaW5kZXgpIHJldHVybiBub2RlW2tdOwoJCQlUIHZsID0gR2V0TWF4KGxpbmRleCwgcmluZGV4LCBrICogMiArIDEsIGwsIChsICsgcikgLyAyKTsKCQkJVCB2ciA9IEdldE1heChsaW5kZXgsIHJpbmRleCwgayAqIDIgKyAyLCAobCArIHIpIC8gMiwgcik7CgkJCXJldHVybiBtYXgodmwsIHZyKTsKCQl9CgoJfTsKCn0KCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyoqKioqKioqKioqIEVORCBPRiBOWUEgTElCICoqKioqKioqKioqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgp1c2luZyBuYW1lc3BhY2UgTnlhR2FkZ2V0OwovL3VzaW5nIG1sbCA9IE1vZExMPCAxMDAwMDAwMDA3ID47Ci8vdXNpbmcgbWxsID0gTW9kTEw8IDk5ODI0NDM1MyA+OwoKc3RydWN0IE55YWEKewoJbGwgaDsKCWxsIGE7CglsbCBpOwp9OwoKYXV0byBOeWFhU29ydCA9IFtdKGNvbnN0IE55YWEmIGwsIGNvbnN0IE55YWEmIHIpCnsJLy8g6ZmN6aCG44Gv5ryU566X5a2QPiwg5piH6aCG44Gv5ryU566X5a2QPCwgaWbpoIbjga7lhKrlhYjjgafjgr3jg7zjg4jjgZXjgozjgosKCXJldHVybiBsLmggPCByLmg7Cn07CgppbnQgbWFpbih2b2lkKQp7CglsbCBOOyBjaW4gPj4gTjsKCXZ0PGxsPiBoOyBJbnB1dFZUKE4sIGgpOwoJdnQ8bGw+IGE7IElucHV0VlQoTiwgYSk7CgoJdnQ8TnlhYT4gZjsKCXJlcChpLCAwLCBOKSBmLnB1c2hfYmFjayh7IGhbaV0sIGFbaV0sIGkgfSk7Cglzb3J0KGFsbChmKSwgTnlhYVNvcnQpOwoKCVNlZ21lbnRUcmVlUk1RPGxsPiB0cmVlKE4pOwoJZWFjaChpLCBlLCBmKQoJewoJCWxsIHRlc3QgPSB0cmVlLkdldE1heCgwLCBlLmkpOwoJCXRyZWUudXBkYXRlKGUuaSwgdGVzdCArIGUuYSk7Cgl9CgoJY291dCA8PCB0cmVlLkdldE1heCgwLCBOKTsKCXJldHVybiAwOwp9Cg==