27572023-01-21 17:33:32rennKarácsonyi égőkpython3Hibás válasz 0/1001.572s60380 KiB
sor = input().split()
N = int(sor[0])
C = int(sor[1])

sor = input().split()


def megold():
    egok = []
    szinek = [0 for i in range(0, C)]
    global Y
    global Z
    Y = 0
    Z = 0

    for X in range(0, C):
        Y = int(sor[X])

        szinek[Y] += 1
        egok.append(Y)

        if szinek[Y] == 1:
            Z += 1

    if Z == C:
        print(C)
        return

    for X in range(C, N):
        Y = int(sor[X])
        egok.append(Y)

        if egok[0] == egok[-1]:
            egok.pop(0)
            continue

        szinek[Y] += 1
        if szinek[Y] == 1:
            Z += 1

        while egok[0] > 1:
            szinek[egok[0]] -= 1
            if szinek[egok[0]] == 0:
                Z -= 1
            egok.pop(0)

        if Z == C:
            print(len(egok))
            return


megold()
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz17ms11204 KiB
2Hibás válasz17ms11280 KiB
subtask20/15
3Hibás válasz328ms15764 KiB
4Hibás válasz736ms16116 KiB
5Hibás válasz345ms16508 KiB
6Hibás válasz17ms12228 KiB
7Hibás válasz17ms12408 KiB
subtask30/10
8Elfogadva17ms12604 KiB
9Hibás válasz17ms12212 KiB
10Hibás válasz17ms12648 KiB
11Elfogadva17ms12816 KiB
12Hibás válasz17ms12660 KiB
subtask40/20
13Hibás válasz17ms12804 KiB
14Hibás válasz17ms12976 KiB
15Hibás válasz17ms12884 KiB
16Hibás válasz17ms12864 KiB
17Hibás válasz17ms12968 KiB
subtask50/25
18Elfogadva21ms14300 KiB
19Futási hiba18ms13900 KiB
20Futási hiba17ms13928 KiB
21Hibás válasz21ms14020 KiB
22Hibás válasz19ms13652 KiB
subtask60/30
23Elfogadva180ms60380 KiB
24Hibás válasz1.199s45452 KiB
25Hibás válasz1.202s51140 KiB
26Hibás válasz305ms54564 KiB
27Időlimit túllépés1.572s26548 KiB
28Futási hiba50ms44828 KiB
29Hibás válasz1.001s45960 KiB
30Hibás válasz171ms20052 KiB