27612023-01-21 22:23:15rennKarácsonyi égőkpython3Elfogadva 100/100202ms59556 KiB
N, C = map(int, input().strip().split())
szinek = list(map(int, input().strip().split()))

szindarab = [0 for i in range(0, C)]

K = 0
M = N
L = 0

for i in range(0, N):
    if szindarab[szinek[i]] == 0:
        K += 1
    szindarab[szinek[i]] += 1
    if K != C:
        continue
    while K == C:
        szindarab[szinek[L]] -= 1
        if szindarab[szinek[L]] == 0:
            K -= 1
        L += 1
    M = min(M, i - L)

print(M + 2)
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva17ms11164 KiB
2Elfogadva17ms11400 KiB
subtask215/15
3Elfogadva163ms19944 KiB
4Elfogadva165ms19768 KiB
5Elfogadva162ms19976 KiB
6Elfogadva17ms11792 KiB
7Elfogadva17ms12132 KiB
subtask310/10
8Elfogadva17ms12388 KiB
9Elfogadva17ms12700 KiB
10Elfogadva17ms12688 KiB
11Elfogadva17ms12624 KiB
12Elfogadva17ms13056 KiB
subtask420/20
13Elfogadva17ms12704 KiB
14Elfogadva17ms12924 KiB
15Elfogadva17ms13160 KiB
16Elfogadva17ms13080 KiB
17Elfogadva17ms12948 KiB
subtask525/25
18Elfogadva19ms14384 KiB
19Elfogadva19ms14428 KiB
20Elfogadva19ms14480 KiB
21Elfogadva20ms14180 KiB
22Elfogadva19ms13692 KiB
subtask630/30
23Elfogadva172ms57208 KiB
24Elfogadva150ms52124 KiB
25Elfogadva157ms57364 KiB
26Elfogadva157ms59244 KiB
27Elfogadva158ms59556 KiB
28Elfogadva148ms57128 KiB
29Elfogadva202ms52248 KiB
30Elfogadva130ms21848 KiB