#abc175d. [abc175_d]Moving Piece

[abc175_d]Moving Piece

問題文

高橋君は 1,2,cdots,N1, 2, \\cdots, N の番号のついた NN マスから成るマス目の上で、コマを使ってゲームを行おうとしています。マス ii には整数 CiC_i が書かれています。また、1,2,N1, 2 …, N の順列 P1,P2,cdots,PNP_1, P_2, \\cdots, P_N が与えられています。

これから高橋君は好きなマスを 11 つ選んでコマを 11 つ置き、11 回以上 KK 回以下の好きな回数だけ、次のような方法でコマを移動させます。

  • 11 回の移動では、現在コマがマス i(1leqileqN)i (1 \\leq i \\leq N) にあるなら、コマをマス PiP_i に移動させる。このとき、スコアに CPiC_{P_i} が加算される。

高橋君のために、ゲーム終了時のスコアとしてあり得る値の最大値を求めてください。(ゲーム開始時のスコアは 00 です。)

制約

  • 2leqNleq50002 \\leq N \\leq 5000
  • 1leqKleq1091 \\leq K \\leq 10^9
  • 1leqPileqN1 \\leq P_i \\leq N
  • PineqiP_i \\neq i
  • P1,P2,cdots,PNP_1, P_2, \\cdots, P_N は全て異なる
  • \-109leqCileq109\-10^9 \\leq C_i \\leq 10^9
  • 入力は全て整数である

入力

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

NN KK P1P_1 P2P_2 cdots\\cdots PNP_N C1C_1 C2C_2 cdots\\cdots CNC_N

出力

ゲーム終了時のスコアとしてあり得る値の最大値を出力せよ。


入力例 1

5 2
2 4 5 1 3
3 4 -10 -8 8

出力例 1

8

好きなマスから始めて 22 回以下コマを移動させる方法は以下の通りです。

  • 初めマス 11 にコマを置く場合。11 回移動するとマス 22 に動き、スコアが 44 になる。22 回移動するとマス 44 に動き、スコアが 4+(8)=44 + (-8) = -4 になる。
  • 初めマス 22 にコマを置く場合。11 回移動するとマス 44 に動き、スコアが \-8\-8 になる。22 回移動するとマス 11 に動き、スコアが \-8+3=5\-8 + 3 = -5 になる。
  • 初めマス 33 にコマを置く場合。11 回移動するとマス 55 に動き、スコアが 88 になる。22 回移動するとマス 33 に動き、スコアが 8+(10)=28 + (-10) = -2 になる。
  • 初めマス 44 にコマを置く場合。11 回移動するとマス 11 に動き、スコアが 33 になる。22 回移動するとマス 22 に動き、スコアが 3+4=73 + 4 = 7 になる。
  • 初めマス 55 にコマを置く場合。11 回移動するとマス 33 に動き、スコアが \-10\-10 になる。22 回移動するとマス 55 に動き、スコアが \-10+8=2\-10 + 8 = -2 になる。

これらの最大値は 88 です。


入力例 2

2 3
2 1
10 -7

出力例 2

13

入力例 3

3 3
3 1 2
-1000 -2000 -3000

出力例 3

-1000

最低 11 回はコマを移動させる必要があります。


入力例 4

10 58
9 1 6 7 8 4 3 2 10 5
695279662 988782657 -119067776 382975538 -151885171 -177220596 -169777795 37619092 389386780 980092719

出力例 4

29507023469

答えの絶対値は非常に大きくなる場合があります。