258902026-03-06 20:50:04algoproKarácsonyi égőkpypy3Accepted 100/100146ms66784 KiB
# UUID: 959e8b51-9834-4cbb-b8ce-159a9b308adf
N, C = [int(x) for x in input().split()]
L = [int(x) for x in input().split()]

res=N
cur = set()
last = {}
first = 0
for i in range(N):
    cur.add(L[i])
    while len(cur) == C:
        res = min(res,i-first+1)
        if last[L[first]] == first:
            cur.remove(L[first])
        first += 1
    last[L[i]]=i

print(res)
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted39ms19632 KiB
2Accepted43ms19436 KiB
subtask215/15
3Accepted101ms37872 KiB
4Accepted90ms38012 KiB
5Accepted104ms37820 KiB
6Accepted43ms21184 KiB
7Accepted43ms21228 KiB
subtask310/10
8Accepted43ms19432 KiB
9Accepted39ms19432 KiB
10Accepted39ms19380 KiB
11Accepted43ms19388 KiB
12Accepted39ms19624 KiB
subtask420/20
13Accepted43ms19784 KiB
14Accepted39ms19684 KiB
15Accepted45ms19648 KiB
16Accepted39ms19688 KiB
17Accepted39ms19692 KiB
subtask525/25
18Accepted54ms21672 KiB
19Accepted52ms21744 KiB
20Accepted57ms21676 KiB
21Accepted50ms21896 KiB
22Accepted59ms21736 KiB
subtask630/30
23Accepted146ms66784 KiB
24Accepted107ms39356 KiB
25Accepted108ms40516 KiB
26Accepted115ms44056 KiB
27Accepted146ms54360 KiB
28Accepted112ms40392 KiB
29Accepted96ms39204 KiB
30Accepted101ms37944 KiB