local BIT={}

local update=function(a,b)
    if a==0 then
        return
    end
    while a<=#BIT do
        BIT[a]=math.max(BIT[a],b)
        a=a+(a&-a)
    end
end

local getmax=function(a)
    local sum=0
    while a>0 do
        sum=math.max(BIT[a],sum)
        a=a-(a&-a)
    end
    return sum
end

----------

local n=io.read("n")
local h,a={},{}
for i=1,n do
    h[i]=io.read("n")
end
for i=1,n do
    a[i]=io.read("n")
end

for i=1,n do
    BIT[i]=0
end
for i=1,n do
    update(h[i],getmax(h[i])+a[i])
end

print(getmax(n))