2761 2023. 01. 21 22:23:15 renn Karácsonyi égők python3 Elfogadva 100/100 202ms 59556 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 Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 17ms 11164 KiB
2 Elfogadva 17ms 11400 KiB
subtask2 15/15
3 Elfogadva 163ms 19944 KiB
4 Elfogadva 165ms 19768 KiB
5 Elfogadva 162ms 19976 KiB
6 Elfogadva 17ms 11792 KiB
7 Elfogadva 17ms 12132 KiB
subtask3 10/10
8 Elfogadva 17ms 12388 KiB
9 Elfogadva 17ms 12700 KiB
10 Elfogadva 17ms 12688 KiB
11 Elfogadva 17ms 12624 KiB
12 Elfogadva 17ms 13056 KiB
subtask4 20/20
13 Elfogadva 17ms 12704 KiB
14 Elfogadva 17ms 12924 KiB
15 Elfogadva 17ms 13160 KiB
16 Elfogadva 17ms 13080 KiB
17 Elfogadva 17ms 12948 KiB
subtask5 25/25
18 Elfogadva 19ms 14384 KiB
19 Elfogadva 19ms 14428 KiB
20 Elfogadva 19ms 14480 KiB
21 Elfogadva 20ms 14180 KiB
22 Elfogadva 19ms 13692 KiB
subtask6 30/30
23 Elfogadva 172ms 57208 KiB
24 Elfogadva 150ms 52124 KiB
25 Elfogadva 157ms 57364 KiB
26 Elfogadva 157ms 59244 KiB
27 Elfogadva 158ms 59556 KiB
28 Elfogadva 148ms 57128 KiB
29 Elfogadva 202ms 52248 KiB
30 Elfogadva 130ms 21848 KiB