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):
    res = -1000000000
    s = 0
    i0 = 0
    for i in range(n + u - 1):
        if i - i0 == u:
            s -= a[i0]
            i0 += 1
        s += a[i]
        if s <= a[i]:
            s = a[i]
            i0 = i
        res = max(res, s)
    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]

        r = k // m
        s = k % m

        t = np.sum(cwork[:m])
        if t > 0:
            res = t * (r - 1) if r > 1 else 0
            u = m + s if k > m else k
            cwork[m: 2 * m] = cwork[: m]
            cwork[2 * m: 2 * m + s] = cwork[: s]
            res += solve_core(cwork[: m + u - 1], m, u)
        else:
            cwork[m: 2 * m - 2] = cwork[: m - 2]
            res = solve_core(cwork[: 2 * 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:
N, K = map(int,input().split())
p = list(map(int,input().split()))
c = list(map(int,input().split()))
K = K-1
ans = -10**9-1
for i in range(N):
   i += 1
   start = i
   number = 1
   circle = [c[i-1]]
   i = p[i-1]
   while i != start:
      number += 1
      l = len(circle)
      score = circle[l-1] + c[i-1]
      circle.append(score)
      i = p[i-1]
   for j in range(min(l, K+1)):
      if circle[l-1] > 0:
         score = circle[j] + ((K - j)//l)*circle[l-1]
      else:
         score = circle[j]
      ans = max(score, ans)      
print(ans)

Submission status: Wrong Answer

Solution code:
n,k=map(int,input().split())

p=list(map(int,input().split()))
score=list(map(int,input().split()))

group_score=[]
checked=[0]*n

for i in range(n):
    if checked[i]==0:
        tmp_group=[]
        tmp=i
        while checked[tmp]==0:
            checked[tmp]=1
            tmp_group.append(score[tmp])
            tmp=p[tmp]-1
        group_score.append(tmp_group)



#aryの中から連続するk個選択するときの最大
def calc(k):
    global group
    ans=group[0]
    for i in range(len(group)):
        tmp=0
        for j in range(k):
            tmp+=group[(i+j)%len(group)]
            if ans<tmp:
                ans=tmp
    return ans

ans=score[0]
for group in group_score:
    #一周以上する場合
    if len(group)<k:
        cycle=sum(group)
        if cycle>0:
            cycle_sum=cycle*(k//len(group))
            tmp=calc(k%len(group))
            ans=max(ans,cycle_sum+tmp)
            
        tmp=calc(len(group))
        ans=max(ans,tmp)

    #一周しない場合k)
    else:
        tmp=calc(k)
        ans=max(ans,tmp)

print(ans)