183382025-10-20 17:24:14algoproInverziópypy3Hibás válasz 9/50200ms84428 KiB
# UUID: e924e3ee-aea9-4eca-8d20-f522465d6bba
n = int(input())
arr = list(map(int, input().split()))
min_jobb = [0] * n
min_jobb[-1] = arr[-1]

for i in range(n - 2, -1, -1):
    min_jobb[i] = min(arr[i], min_jobb[i + 1])

i = 0
j = n - 1
max_hossz = -1
legjobb_i = -1
legjobb_j = -1

while i < n and j > i:
    if arr[i] > min_jobb[j]:
        if j - i > max_hossz:
            max_hossz = j - i
            legjobb_i = i + 1
            legjobb_j = j + 1
        i += 1
    else:
        j -= 1

if max_hossz == -1:
    print(-1)
else:
    print(legjobb_i, legjobb_j)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base9/50
1Elfogadva0/039ms19444 KiB
2Hibás válasz0/067ms27324 KiB
3Elfogadva1/143ms19360 KiB
4Elfogadva2/243ms21172 KiB
5Hibás válasz0/743ms21228 KiB
6Hibás válasz0/268ms27292 KiB
7Hibás válasz0/2190ms84332 KiB
8Hibás válasz0/2200ms84392 KiB
9Hibás válasz0/2165ms84212 KiB
10Elfogadva2/2167ms84208 KiB
11Hibás válasz0/2197ms84208 KiB
12Hibás válasz0/2159ms79928 KiB
13Hibás válasz0/2194ms84208 KiB
14Hibás válasz0/2165ms84216 KiB
15Hibás válasz0/2159ms84212 KiB
16Hibás válasz0/2165ms84216 KiB
17Hibás válasz0/2192ms84208 KiB
18Hibás válasz0/2164ms84428 KiB
19Hibás válasz0/3158ms84164 KiB
20Hibás válasz0/3188ms84280 KiB
21Hibás válasz0/2158ms84212 KiB
22Hibás válasz0/2194ms84216 KiB
23Elfogadva2/2164ms84300 KiB
24Elfogadva2/2182ms84220 KiB