atcoder#DPQ. Flowers

Flowers

配点 : 100100

問題文

NN 本の花が横一列に並んでいます。 各 ii (1iN1 \leq i \leq N) について、左から ii 番目の花の高さは hih_i で、美しさは aia_i です。 ただし、h1,h2,,hNh_1, h_2, \ldots, h_N はすべて相異なります。

太郎君は何本かの花を抜き去ることで、次の条件が成り立つようにしようとしています。

  • 残りの花を左から順に見ると、高さが単調増加になっている。

残りの花の美しさの総和の最大値を求めてください。

制約

  • 入力はすべて整数である。
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1hiN1 \leq h_i \leq N
  • h1,h2,,hNh_1, h_2, \ldots, h_N はすべて相異なる。
  • 1ai1091 \leq a_i \leq 10^9

入力

入力は以下の形式で標準入力から与えられる。

NN

h1h_1 h2h_2 \ldots hNh_N

a1a_1 a2a_2 \ldots aNa_N

出力

残りの花の美しさの総和の最大値を出力せよ。

4
3 1 4 2
10 20 30 40
60

左から 2,42, 4 番目の花を残せばよいです。 すると、高さは左から順に 1,21, 2 となり、単調増加になっています。 また、美しさの総和は 20+40=6020 + 40 = 60 となります。

1
1
10
10

最初から条件が成り立っています。

5
1 2 3 4 5
1000000000 1000000000 1000000000 1000000000 1000000000
5000000000

答えは 32-bit 整数型に収まらない場合があります。

9
4 2 5 8 3 6 1 7 9
6 8 8 4 6 3 5 7 5
31

左から 2,3,6,8,92, 3, 6, 8, 9 番目の花を残せばよいです。