難易度評価

難易度を1〜10段階で評価できます。投票はあとから変更・取り消しできます。

難易度(投票) 未投票 (0票)

投票の分布

まだ投票はありません。

  1. Lv.10票
  2. Lv.20票
  3. Lv.30票
  4. Lv.40票
  5. Lv.50票
  6. Lv.60票
  7. Lv.70票
  8. Lv.80票
  9. Lv.90票
  10. Lv.100票

難易度の目安を見る ↗

ログインして難易度を投票

外部サイトへ移動します

リンク先の URL を確認してから開いてください。

別タブで開く

Prefix Reverse

作成者 mackerel38

テスター kazuppa、loop0919

難易度(作成者設定) Lv.5

難易度(投票) 未投票 (0票)

実行時間制限
2 秒
メモリ制限
512 MiB

問題文

正整数 NN と長さ NN の順列 PP と正整数列 AA が与えられる。はじめ、列 QQ を Q=PQ = P とする。

k=1,2,⋯ ,Nk = 1, 2, \cdots, N の順に、以下の操作を行う。

  • Qi=kQ_i = k となるような ii を求める。
  • Q1,QiQ_1, Q_i の両方が Q1,Q2,…,QiQ_1, Q_2, \dots, Q_i の最小値または最大値であるならば、 Q1,Q2,…,QiQ_1, Q_2, \dots, Q_i を Qi,Qi−1,…,Q1Q_i, Q_{i-1}, \dots, Q_1 に同時に置き換えてスコア AiA_i を得るか、何もしないかを選ぶ。そうでない場合は何もしない。

すべての操作の後に Q=PQ = P となるように操作を行ったとき、得たスコアの総和としてあり得る最大値を求めよ。

制約

  • 1≤N≤2×1051 \le N \le 2 \times 10^5
  • 1≤P≤N1 \le P \le N (1≤i≤N)(1 \le i \le N)
  • Pi≠PjP_i \neq P_j (i≠j)(i \neq j)
  • 1≤Ai≤1091 \le A_i \le 10^9
  • 入力される値はすべて整数

入力

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

NN P1P2…PNP_1 \quad P_2 \quad \ldots \quad P_N A1A2…ANA_1 \quad A_2 \quad \ldots \quad A_N

出力

答えを出力せよ。

サンプル 1

入力

3
3 1 2
1 4 100

出力

8

次のように操作すると、最後に Q=PQ = P となり、得たスコアの総和は 88 となる。

  • k=1k = 1 のとき、 i=2i = 2 である。 Q1=3,Q2=1Q_1 = 3, Q_2 = 1 はそれぞれ Q1,Q2Q_1, Q_2 の最大値、最小値なので、反転して Q=(1,3,2)Q = (1, 3, 2) とする。スコア A2=4A_2 = 4 を得る。
  • k=2k = 2 のとき、 i=3i = 3 である。 Q1,Q2,Q3Q_1, Q_2, Q_3 の最大値 33 は Q1=1,Q3=2Q_1 = 1, Q_3 = 2 のどちらでもないので、何もしない。
  • k=3k = 3 のとき、 i=2i = 2 である。 Q1=1,Q2=3Q_1 = 1, Q_2 = 3 はそれぞれ Q1,Q2Q_1, Q_2 の最小値、最大値なので、反転して Q=(3,1,2)Q = (3, 1, 2) とする。スコア A2=4A_2 = 4 を得る。

サンプル 2

入力

4
2 1 4 3
7 3 9 9

出力

7

k=1,2k = 1, 2 のときに Q1,Q2Q_1, Q_2 を反転させると、得たスコアの総和は 66 となる。

一方、 k=1k = 1 のときに何もしなければ、 k=2k = 2 のときに i=1i = 1 となる。このとき Q1Q_1 だけを反転させることができ、 QQ は変化せずにスコア A1=7A_1 = 7 を得られる。

サンプル 3

入力

8
6 4 5 2 3 1 8 7
1000000000 2 3 999999999 5 314159265 1000000000 1000000000

出力

1999999998