27562023-01-21 17:30:10rennKarácsonyi égőkpython3Hibás válasz 0/100351ms60860 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] == egok[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
1Elfogadva17ms10952 KiB
2Elfogadva17ms11428 KiB
subtask20/15
3Hibás válasz277ms15520 KiB
4Hibás válasz319ms16308 KiB
5Hibás válasz351ms16504 KiB
6Hibás válasz17ms12284 KiB
7Hibás válasz17ms12340 KiB
subtask30/10
8Elfogadva17ms12488 KiB
9Hibás válasz17ms12664 KiB
10Hibás válasz17ms13100 KiB
11Hibás válasz17ms12984 KiB
12Hibás válasz17ms12972 KiB
subtask40/20
13Hibás válasz17ms13080 KiB
14Hibás válasz17ms13040 KiB
15Hibás válasz17ms13504 KiB
16Elfogadva17ms13460 KiB
17Hibás válasz17ms13236 KiB
subtask50/25
18Elfogadva20ms14960 KiB
19Hibás válasz19ms14796 KiB
20Hibás válasz18ms14704 KiB
21Hibás válasz20ms14384 KiB
22Hibás válasz19ms14344 KiB
subtask60/30
23Elfogadva170ms60860 KiB
24Hibás válasz108ms45872 KiB
25Hibás válasz182ms57592 KiB
26Hibás válasz155ms56172 KiB
27Hibás válasz184ms59416 KiB
28Hibás válasz179ms56356 KiB
29Hibás válasz170ms51828 KiB
30Hibás válasz172ms20496 KiB