Problem:


Score : 400 points

Problem Statement

Takahashi will play a game using a piece on an array of squares numbered 1, 2, \cdots, N. Square i has an integer C_i written on it. Also, he is given a permutation of 1, 2, \cdots, N: P_1, P_2, \cdots, P_N.

Now, he will choose one square and place the piece on that square. Then, he will make the following move some number of times between 1 and K (inclusive):

In one move, if the piece is now on Square i (1 \leq i \leq N), move it to Square P_i. Here, his score increases by C_{P_i}.

Help him by finding the maximum possible score at the end of the game. (The score is 0 at the beginning of the game.)

Constraints

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, \cdots, P_N are all different.

-10^9 \leq C_i \leq 10^9

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N K
P_1 P_2 \cdots P_N
C_1 C_2 \cdots C_N

Output

Print the maximum possible score at the end of the game.

Sample Input 1

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

Sample Output 1

8

When we start at some square of our choice and make at most two moves, we have the following options:

If we start at Square 1, making one move sends the piece to Square 2, after which the score is 4. Making another move sends the piece to Square 4, after which the score is 4 + (-8) = -4.

If we start at Square 2, making one move sends the piece to Square 4, after which the score is -8. Making another move sends the piece to Square 1, after which the score is -8 + 3 = -5.

If we start at Square 3, making one move sends the piece to Square 5, after which the score is 8. Making another move sends the piece to Square 3, after which the score is 8 + (-10) = -2.

If we start at Square 4, making one move sends the piece to Square 1, after which the score is 3. Making another move sends the piece to Square 2, after which the score is 3 + 4 = 7.

If we start at Square 5, making one move sends the piece to Square 3, after which the score is -10. Making another move sends the piece to Square 5, after which the score is -10 + 8 = -2.

The maximum score achieved is 8.

Sample Input 2

2 3
2 1
10 -7

Sample Output 2

13

Sample Input 3

3 3
3 1 2
-1000 -2000 -3000

Sample Output 3

-1000

We have to make at least one move.

Sample Input 4

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

Sample Output 4

29507023469

The absolute value of the answer may be enormous.



Sample input:
5 2
2 4 5 1 3
3 4 -10 -8 8


Sample output:
8

Submission status: Wrong Answer

Solution code:
# compiled by pythran
"""
#pythran export main2()
import numpy as np
i4 = np.int32
i8 = np.int64


def solve_core(a, n, u):
    cs = np.empty(n + u, i8)
    cs[0] = a[0]
    for i in range(1, n + u):
        cs[i] = cs[i - 1] + a[i]
    base = 0
    max_index = -1
    res = -1000000000
    for i in range(n):
        if max_index < i:
            max_value = -1000000000
            max_index = i
            for j in range(i, i + u):
                if cs[j] >= max_value:
                    max_value = cs[j]
                    max_index = j
        else:
            if max_value <= cs[i + u - 1]:
                max_value = cs[i + u - 1]
                max_index = i + u - 1
        res = max(res, max_value - base)
        base = cs[i]
    return res


def solve(n, k, p, c):
    mark = np.zeros_like(p)
    cwork = np.empty(n * 2, i8)

    ans = -1000000000
    for i in range(n):
        if mark[i] == 1:
            continue

        cwork[0] = c[i]
        mark[i] = 1
        m = 1
        j = p[i]
        while j != i:
            cwork[m] = c[j]
            mark[j] = 1
            m += 1
            j = p[j]

        cwork[m: 2 * m] = cwork[: m]
        if k <= m:
            res = solve_core(cwork[: m + k - 1], m, k)
        else:
            t = np.sum(cwork[:m])
            if t > 0:
                r = k // m
                s = k % m
                res = t * (r - 1) + solve_core(cwork[: m + m - 1], m, m)
                if s > 0:
                    res2 = t * r + solve_core(cwork[: m + s - 1], m, s)
                    res = max(res, res2)
            else:
                res = solve_core(cwork[: m + m - 2], m, m - 1)
        ans = max(ans, res)
    return ans


def main(file_in):
    f = open(file_in)
    n, k = [int(x) for x in f.readline().split()]
    p = np.array([int(x) - 1 for x in f.readline().split()])
    c = np.array([int(x) for x in f.readline().split()])
    ans = solve(n, k, p, c)
    print(ans)


def main2():
    main('/dev/stdin')
"""
import os, sys
p = os.path.dirname(__file__)
pymain = os.path.join(p, "a.out")
if len(sys.argv) == 1:
    import subprocess
    if p == "":
        pymain = "./" + pymain
    subprocess.call(pymain)
else:
    import gzip, base64, stat
    gz = b'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'
    bin = gzip.decompress(base64.b64decode(gz))
    with open(pymain, "wb") as f:
        f.write(bin)
    os.chmod(pymain, 0o775)

Submission status: Wrong Answer

Solution code:
#D - Moving_piece
#TLE
N,K = map(int,input().split())
P =[]
C =[]
P = list(map(int,input().split()))
C = list(map(int,input().split()))

score_output = -1000000010
i = 0
for i in range(N):
    ichi = i
    score = 0
    step  = 0
#   score_max_list = [0]
    score_max = -1000000010
    score_full_max =  -1000000010
    for j in range(N):
        if i != (P[ichi] -1):
            ichi = (P[ichi] -1)
            score += C[ichi]
            if score > score_max:
                score_max = score
#            score_max_list.append(score_max)
        else:
            step = j
            score += C[i]
            break
    if score > 0 :
        loop = int((K) / (step +1))
        mod  = int((K) % (step +1))
        score_full_max = loop * score + score_max #score_max_list[mod]
    else:
        score_full_max = score_max
    if score_full_max > score_output:
        score_output = score_full_max
# 出力
print(score_output)

Submission status: Wrong Answer

Solution code:
n, k = [int(i) for i in input().split(' ')]
number = [int(i) for i in input().split(' ')]
point = [int(i) for i in input().split(' ')]
res = []
result = []
def main(number, point, tmp, i, k, cnt) :
  tmp += point[number[i-1]-1]
  cnt += 1
  next = number[i-1]
  if k > cnt :
    return main(number, point, tmp, next, k, cnt)
  else :
    return tmp  
for m in range(k) :
  for i in number :
    tmp = 0
    cnt = 0
    res.append(main(number, point, tmp, i, m, cnt))
  result.append(max(res))
print(max(result))