Submission #68597674


Source Code Expand

import sys,random,bisect
from collections import deque,defaultdict
from heapq import heapify,heappop,heappush
from itertools import permutations
from math import gcd,log

input = lambda :sys.stdin.readline().rstrip()
mi = lambda :map(int,input().split())
li = lambda :list(mi())

def solve(N,K,P):

    val_to_idx = [[] for i in range(N)]

    def calc(A):
        n = len(A)

        for i,a in enumerate(A):
            val_to_idx[a].append(i)


        dp = [[0]*(n+1) for l in range(n+1)]
        for l in range(n)[::-1]:
            for r in range(l+1,n+1):
                dp[l][r] = dp[l+1][r]
                a = A[l]

                for mid in val_to_idx[a]:
                    if l < mid < r:
                        dp[l][r] = max(dp[l][r],dp[l][mid]+dp[mid][r]+1)
        
        for i,a in enumerate(A):
            val_to_idx[a] = []
        
        return dp[0][n]
    
    res = 0
    done = [0] * (N*K)
    for i in range(N*K):
        if done[i]:
            continue

        A = [i]
        done[i] = 1
        while True:
            nxt = P[A[-1]]
            if done[nxt]:
                break
            A.append(nxt)
            done[nxt] = 1

        A = [a % N for a in A]
        res += calc(A)
    
    return res

N,K = mi()
P = li()
P = [p-1 for p in P]
print(solve(N,K,P))

Submission Info

Submission Time
Task B - Sort Permutation
User chinerist
Language Python (PyPy 3.10-v7.3.12)
Score 800
Code Size 1371 Byte
Status AC
Exec Time 1462 ms
Memory 280904 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 3
AC × 53
Set Name Test Cases
Sample 01-sample-01.txt, 01-sample-02.txt, 01-sample-03.txt
All 01-sample-01.txt, 01-sample-02.txt, 01-sample-03.txt, 02-small-01.txt, 02-small-02.txt, 02-small-03.txt, 02-small-04.txt, 02-small-05.txt, 02-small-06.txt, 02-small-07.txt, 02-small-08.txt, 02-small-09.txt, 02-small-10.txt, 02-small-11.txt, 02-small-12.txt, 02-small-13.txt, 02-small-14.txt, 02-small-15.txt, 02-small-16.txt, 03-random-01.txt, 03-random-02.txt, 03-random-03.txt, 03-random-04.txt, 03-random-05.txt, 04-large-01.txt, 04-large-02.txt, 04-large-03.txt, 04-large-04.txt, 04-large-05.txt, 05-id-01.txt, 05-id-02.txt, 05-id-03.txt, 05-id-04.txt, 06-large-cycle-01.txt, 06-large-cycle-02.txt, 06-large-cycle-03.txt, 06-large-cycle-04.txt, 06-large-cycle-05.txt, 07-large-cycle-2-01.txt, 07-large-cycle-2-02.txt, 07-large-cycle-2-03.txt, 07-large-cycle-2-04.txt, 07-large-cycle-2-05.txt, 08-divide-01.txt, 08-divide-02.txt, 08-divide-03.txt, 08-divide-04.txt, 08-divide-05.txt, 09-large-ans-01.txt, 09-large-ans-02.txt, 09-large-ans-03.txt, 09-large-ans-04.txt, 09-large-ans-05.txt
Case Name Status Exec Time Memory
01-sample-01.txt AC 87 ms 83220 KiB
01-sample-02.txt AC 87 ms 83160 KiB
01-sample-03.txt AC 87 ms 83184 KiB
02-small-01.txt AC 88 ms 83016 KiB
02-small-02.txt AC 88 ms 83256 KiB
02-small-03.txt AC 88 ms 83296 KiB
02-small-04.txt AC 88 ms 83112 KiB
02-small-05.txt AC 88 ms 83260 KiB
02-small-06.txt AC 87 ms 82900 KiB
02-small-07.txt AC 88 ms 83044 KiB
02-small-08.txt AC 87 ms 83272 KiB
02-small-09.txt AC 88 ms 83272 KiB
02-small-10.txt AC 87 ms 83260 KiB
02-small-11.txt AC 88 ms 83300 KiB
02-small-12.txt AC 88 ms 83328 KiB
02-small-13.txt AC 87 ms 83152 KiB
02-small-14.txt AC 87 ms 83260 KiB
02-small-15.txt AC 90 ms 82984 KiB
02-small-16.txt AC 89 ms 83312 KiB
03-random-01.txt AC 187 ms 110540 KiB
03-random-02.txt AC 236 ms 121124 KiB
03-random-03.txt AC 93 ms 83864 KiB
03-random-04.txt AC 97 ms 84108 KiB
03-random-05.txt AC 150 ms 104360 KiB
04-large-01.txt AC 416 ms 172232 KiB
04-large-02.txt AC 195 ms 120620 KiB
04-large-03.txt AC 281 ms 142820 KiB
04-large-04.txt AC 405 ms 152060 KiB
04-large-05.txt AC 272 ms 150840 KiB
05-id-01.txt AC 102 ms 84860 KiB
05-id-02.txt AC 102 ms 85160 KiB
05-id-03.txt AC 102 ms 85316 KiB
05-id-04.txt AC 102 ms 85124 KiB
06-large-cycle-01.txt AC 1462 ms 280904 KiB
06-large-cycle-02.txt AC 760 ms 244164 KiB
06-large-cycle-03.txt AC 1374 ms 266732 KiB
06-large-cycle-04.txt AC 431 ms 180316 KiB
06-large-cycle-05.txt AC 1418 ms 275568 KiB
07-large-cycle-2-01.txt AC 293 ms 145416 KiB
07-large-cycle-2-02.txt AC 600 ms 215276 KiB
07-large-cycle-2-03.txt AC 985 ms 251088 KiB
07-large-cycle-2-04.txt AC 197 ms 120244 KiB
07-large-cycle-2-05.txt AC 779 ms 227896 KiB
08-divide-01.txt AC 109 ms 85360 KiB
08-divide-02.txt AC 111 ms 85140 KiB
08-divide-03.txt AC 109 ms 85336 KiB
08-divide-04.txt AC 109 ms 85308 KiB
08-divide-05.txt AC 108 ms 85412 KiB
09-large-ans-01.txt AC 494 ms 176556 KiB
09-large-ans-02.txt AC 313 ms 120828 KiB
09-large-ans-03.txt AC 767 ms 198968 KiB
09-large-ans-04.txt AC 398 ms 140192 KiB
09-large-ans-05.txt AC 262 ms 118620 KiB