124182024-12-17 14:29:3242Síkság (55)python3Hibás válasz 36/55138ms14640 KiB
# O(N)
from sys import stdin
input=stdin.readline

def solv():
    N=int(input())
    A=list(map(int,input().split()))

    start=0
    length=1

    d={A[0]:1}
    last=0
    for i in range(1,len(A)):
        d[A[i]]=d.get(A[i],0)+1
        while len(d)>2:
            d[A[last]]-=1
            if d[A[last]]==0:
                del d[A[last]]
            last+=1
        AA=list(d.keys())
        if len(AA)==2:
            if abs(AA[0]-AA[1])>1:
                while len(d)>2:
                    d[A[last]]-=1
                    if d[A[last]]==0:
                        del d[A[last]]
                    last+=1
        if i-last+1>length:
            length=i-last+1
            start=last
            
    print(length,start+1)

solv()
RészfeladatÖsszpontTesztVerdiktIdőMemória
base36/55
1Elfogadva0/016ms3124 KiB
2Elfogadva0/028ms4164 KiB
3Hibás válasz0/216ms3120 KiB
4Elfogadva2/216ms3128 KiB
5Hibás válasz0/216ms3312 KiB
6Elfogadva2/216ms3320 KiB
7Elfogadva3/317ms3128 KiB
8Elfogadva2/217ms3128 KiB
9Hibás válasz0/317ms3216 KiB
10Elfogadva3/328ms4276 KiB
11Elfogadva3/325ms3576 KiB
12Elfogadva3/325ms3920 KiB
13Hibás válasz0/3134ms14640 KiB
14Elfogadva3/3112ms5016 KiB
15Elfogadva3/3128ms11520 KiB
16Elfogadva3/3131ms14132 KiB
17Hibás válasz0/3128ms14156 KiB
18Hibás válasz0/3138ms14132 KiB
19Elfogadva3/3133ms13860 KiB
20Elfogadva3/3134ms13896 KiB
21Elfogadva3/376ms8976 KiB
22Hibás válasz0/3108ms12008 KiB