#P15454. [JOI 2026 SemiFinal] 川下り / River Rafting

[JOI 2026 SemiFinal] 川下り / River Rafting

Description

JOI 国には NN 個の街があり,街には 11 から NN までの番号が付けられている.これらの街の間には N1N-1 本の道があり,11 から N1N-1 までの番号が付けられている.道 ii (1iN11 \le i \le N-1) は街 PiP_i (PiiP_i \le i) と街 i+1i+1 とを相互に結んでいる.街 11 からどの街へも何本かの道を通って移動できることが保証されている.

また,JOI 国には道に並行する川が N1N-1 本あり,川には 11 から N1N-1 までの番号が付けられている.川 ii (1iN11 \le i \le N-1) は道 ii と並行しており,街 PiP_i から街 i+1i+1 の向きに流れている.

NN 個の街にはそれぞれ 11 つずつランプが置かれている.各ランプには強さが定められている.街 tt (1tN1 \le t \le N) にあるランプの強さが ll であるとき,その街から ll 本未満の道を通って到達できる街はこのランプによって照らされている.最初の時点では,ランプの強さはすべて 00 であり,どの街も照らされていない.

あなたは川下りを 00 回以上好きな回数行うことができる.川下りは街 11 にいる状態から始めて,まず街 11 にあるランプの強さを 11 増やす.そして,以下の操作を順に繰り返す.

  1. 川下りを終了するか決める.ただし今いる街から流れる川が存在しないときは必ず終了する.
  2. 川下りを続ける場合,今いる街から流れる川を 11 つ選び,その川の流れに沿って移動する.移動した先の街のランプの強さを 11 増やす.

川下りを街 tt で終了した場合,この川下りにかかるコストは CtC_t である.あなたは,川下りを 00 回以上好きな回数行うことで,すべての街がいずれかのランプによって照らされるようにしたい.その上で,川下りにかかるコストの合計を最小化する必要がある.

道とコストの情報が与えられたとき,すべての街がいずれかのランプによって照らされるようにするための川下りにかかるコストの合計の最小値を求めるプログラムを作成せよ.

Input Format

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

NN
P1 P2  PN1P_1\ P_2\ \cdots\ P_{N-1}
C1 C2  CNC_1\ C_2\ \cdots\ C_N

Output Format

標準出力に,すべての街がいずれかのランプによって照らされるようにするための川下りにかかるコストの合計の最小値を 11 行で出力せよ.

5
1 2 2 4
10 4 8 9 5
9
9
1 1 1 2 5 5 5 3
100 70 80 90 60 30 40 50 30
90

Hint

Sample Explanation 1

1 回目の川下りでは川 11 を選択し,街 22 で川下りを終了する.このとき街 1,21,2 にあるランプの強さが 11 増え,コストは 44 である.2 回目の川下りでは川 1,3,41,3,4 を選択し,街 55 で川下りを終了する.このとき街 1,2,4,51,2,4,5 にあるランプの強さが 11 増え,コストは 55 である.

操作の後,街 1,21,2 にあるランプの強さは 22,街 33 にあるランプの強さは 00,街 4,54,5 にあるランプの強さは 11 となる.街 1,2,3,41,2,3,4 は街 22 にある強さ 22 のランプによって,街 55 は街 55 にある強さ 11 のランプによって照らされる.したがって,これらの操作によりすべての街はいずれかのランプによって照らされる.このときコストの合計は 4+5=94 + 5 = 9 である.99 未満のコストで条件を満たすことはできないため,99 を出力する.

この入力例は小課題 1,2,5,6 の制約を満たす.

Sample Explanation 2

1,4,51,4,5 を通って街 66 で終了する川下りを 22 回,川 2,82,8 を通って街 99 で終了する川下りを 11 回行う.操作の後,街 11 にあるランプの強さは 33,街 2,5,62,5,6 にあるランプの強さは 22,街 3,93,9 にあるランプの強さは 11,街 4,7,84,7,8 にあるランプの強さは 00 となる.これらの操作によりすべての街はいずれかのランプによって照らされる.このときコストの合計は 30×2+30=9030 \times 2 + 30 = 90 である.9090 未満のコストで条件を満たすことはできないため,9090 を出力する.

この入力例は小課題 2,6 の制約を満たす.

制約

  • 2N7002 \le N \le 700
  • 1Pii1 \le P_i \le i (1iN11 \le i \le N-1).
  • 1Ct1091 \le C_t \le 10^9 (1tN1 \le t \le N).
  • 入力される値はすべて整数である.

小課題

  1. (13(13)N8) N \le 8
  2. (25(25)N100) N \le 100
  3. (7(7)Pi=1) P_i = 1 (1iN11 \le i \le N-1).
  4. (11(11)Pi=i) P_i = i (1iN11 \le i \le N-1).
  5. (16(16)) すべての ii (1iN1 \le i \le N) に対して,Pj=iP_j = i となる jj (1jN11 \le j \le N-1) は 22 個以下.
  6. (28(28)) 追加の制約はない.