183392025-10-20 17:24:41algoproInverziópypy3Hibás válasz 9/50195ms84368 KiB
# UUID: 4ebfc3ce-e1c4-4cc3-9fc0-fd83148dbb46
n = int(input())
arr = list(map(int, input().split()))

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

i = 0
j = n - 1
max_dist = -1
best_i = best_j = -1

while i < n and j > i:
    if arr[i] > min_right[j]:
        if j - i > max_dist:
            max_dist = j - i
            best_i = i + 1
            best_j = j + 1
        i += 1
    else:
        j -= 1

if max_dist == -1:
    print(-1)
else:
    print(best_i, best_j)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base9/50
1Elfogadva0/039ms19588 KiB
2Hibás válasz0/067ms27360 KiB
3Elfogadva1/139ms19432 KiB
4Elfogadva2/250ms21196 KiB
5Hibás válasz0/743ms21196 KiB
6Hibás válasz0/259ms27372 KiB
7Hibás válasz0/2190ms84212 KiB
8Hibás válasz0/2194ms84348 KiB
9Hibás válasz0/2164ms84212 KiB
10Elfogadva2/2166ms84212 KiB
11Hibás válasz0/2194ms84212 KiB
12Hibás válasz0/2160ms79816 KiB
13Hibás válasz0/2195ms84212 KiB
14Hibás válasz0/2165ms84292 KiB
15Hibás válasz0/2187ms84212 KiB
16Hibás válasz0/2165ms84212 KiB
17Hibás válasz0/2193ms84368 KiB
18Hibás válasz0/2164ms84296 KiB
19Hibás válasz0/3158ms84212 KiB
20Hibás válasz0/3187ms84328 KiB
21Hibás válasz0/2187ms84288 KiB
22Hibás válasz0/2164ms84188 KiB
23Elfogadva2/2194ms84212 KiB
24Elfogadva2/2182ms84332 KiB