#ABC175D. 移动棋子

移动棋子

移动棋子

题目描述

高桥君打算在由编号 1,2,,N1, 2, \cdots, NNN 个格子组成的棋盘上,用棋子进行游戏。格子 ii 上写有整数 CiC_i。此外,给定一个 1,2,,N1, 2, \cdots, N 的排列 P1,P2,,PNP_1, P_2, \cdots, P_N

接下来,高桥君将任选一个格子放上一枚棋子,并移动棋子 11 次以上、KK 次以下任意次(只要在 11KK 之间)。

  • 一次移动中,如果棋子当前在格子 ii (1iN)(1 \leq i \leq N),则把棋子移动到格子 PiP_i。此时,得分加上 CPiC_{P_i}

请为高桥君求出游戏结束时得分可能的最大值。(游戏开始时的得分为 00。)

输入格式

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

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

从任意格子开始、移动棋子 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 3
2 1
10 -7
13
3 3
3 1 2
-1000 -2000 -3000
-1000

必须至少移动 11 次棋子。

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

答案的绝对值有时会非常大。

数据范围

  • 2N50002 \leq N \leq 5000
  • 1K1091 \leq K \leq 10^9
  • 1PiN1 \leq P_i \leq N
  • PiiP_i \neq i
  • P1,P2,,PNP_1, P_2, \cdots, P_N 全部互不相同
  • 109Ci109-10^9 \leq C_i \leq 10^9
  • 输入均为整数
难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
1995
类型
传统题
Time Limit
3000ms
Memory Limit
1024MiB
上传者
标签