#AT1634. D - Moving Piece

D - Moving Piece

D - 移动棋子

得分:400 点

问题描述

高桥要使用一个棋子在编号为$1,2,...,N$的方格上进行游戏。方格$i$上面有一个整数$C_i$。他还给了一个$1,2,...,N$的排列:$P_1,P_2,...,P_N$。

现在,他将选择一个方格,并将棋子放在那个方格上。然后,他将在$K$次和$1$次之间进行以下移动:

  • 在一个移动中,如果棋子现在在方格$i$上$(1 \leq i \leq N)$,将其移动到方格$P_i$上。在这里,他的分数增加$C_{P_i}$。

帮助他找到游戏结束时可能的最大分数。(游戏开始时得分为$0$)。

限制

  • $2 \leq N \leq 5000$
  • $1 \leq K \leq 10^9$
  • $1 \leq P_i \leq N$
  • $P_i \neq i$
  • $P_1,P_2,...,P_N$都是不同的。
  • $-10^9 \leq C_i \leq 10^9$
  • 输入中的所有值都是整数。

输入

从标准输入中按照以下格式给出输入:

NN KK

P1P_1 P2P_2 \cdots PNP_N

C1C_1 C2C_2 \cdots CNC_N

输出

输出游戏结束时可能的最大分数。


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

当我们从任意一个方格开始进行最多两次移动时,我们有如下选择:

  • 如果我们从方格$1$开始,进行一次移动将棋子移到方格$2$,此时得分为$4$。再进行一次移动将棋子移到方格$4$,此时得分为$4 + (-8) = -4$。
  • 如果我们从方格$2$开始,进行一次移动将棋子移到方格$4$,此时得分为$-8$。再进行一次移动将棋子移到方格$1$,此时得分为$-8 + 3 = -5$。
  • 如果我们从方格$3$开始,进行一次移动将棋子移到方格$5$,此时得分为$8$。再进行一次移动将棋子移到方格$3$,此时得分为$8 + (-10) = -2$。
  • 如果我们从方格$4$开始,进行一次移动将棋子移到方格$1$,此时得分为$3$。再进行一次移动将棋子移到方格$2$,此时得分为$3 + 4 = 7$。
  • 如果我们从方格$5$开始,进行一次移动将棋子移到方格$3$,此时得分为$-10$。再进行一次移动将棋子移到方格$5$,此时得分为$-10 + 8 = -2$。

最大得分为$8$。


2 3
2 1
10 -7
13

3 3
3 1 2
-1000 -2000 -3000
-1000

我们必须进行至少一次移动。


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

答案的绝对值可能很大。