197412025-12-20 21:27:44birozsSíkság (55)python3Accepted 55/55123ms14816 KiB
N = int(input())
T = list(map(int,input().split()))
a = T[0]
akezd = 0
maxhossz = 0
b = 0
for i in range(1,N):
    if abs(T[i] - a) == 1 and b == 0:
        b = T[i]
        bkezd = i
    elif abs(T[i] - a) == 1 and b != 0 and abs(T[i] - b) > 1:
        if i - akezd > maxhossz:
            maxhossz = i - akezd
            maxkezdo = akezd + 1
        if T[i-1] == b:
            a = T[i]
            akezd = i
            b = 0
        else:  
            j = i - 1
            while T[j] == a:
                j -= 1
            akezd = j + 1
            b = T[i]
            bkezd = i
    elif abs(T[i] - a) > 1:
        if i - akezd > maxhossz:
            maxhossz = i - akezd
            maxkezdo = akezd + 1
        if b != 0 and abs(T[i] - b) == 1 and T[i-1] == b:
            j = i - 1
            while j > bkezd and T[j] == b:
                j -= 1
            a = b
            if j == bkezd:
                akezd = j
            else:
                akezd = j + 1
            b = T[i]
            bkezd = i
        else:
            a = T[i]
            akezd = i
            b = 0
if N - akezd > maxhossz:
    maxhossz = N - akezd
    maxkezdo = akezd + 1
print(maxhossz, maxkezdo)


SubtaskSumTestVerdictTimeMemory
base55/55
1Accepted0/017ms3140 KiB
2Accepted0/025ms4356 KiB
3Accepted2/216ms3120 KiB
4Accepted2/216ms3120 KiB
5Accepted2/217ms3124 KiB
6Accepted2/217ms3368 KiB
7Accepted3/317ms3116 KiB
8Accepted2/217ms3284 KiB
9Accepted3/317ms3144 KiB
10Accepted3/326ms4148 KiB
11Accepted3/325ms3636 KiB
12Accepted3/324ms4044 KiB
13Accepted3/3107ms14604 KiB
14Accepted3/398ms5060 KiB
15Accepted3/3103ms11664 KiB
16Accepted3/3108ms14732 KiB
17Accepted3/3105ms14740 KiB
18Accepted3/3123ms14816 KiB
19Accepted3/3104ms14544 KiB
20Accepted3/3112ms14700 KiB
21Accepted3/371ms9008 KiB
22Accepted3/385ms12536 KiB