183392025-10-20 17:24:41algoproInverziópypy3Wrong answer 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)
SubtaskSumTestVerdictTimeMemory
base9/50
1Accepted0/039ms19588 KiB
2Wrong answer0/067ms27360 KiB
3Accepted1/139ms19432 KiB
4Accepted2/250ms21196 KiB
5Wrong answer0/743ms21196 KiB
6Wrong answer0/259ms27372 KiB
7Wrong answer0/2190ms84212 KiB
8Wrong answer0/2194ms84348 KiB
9Wrong answer0/2164ms84212 KiB
10Accepted2/2166ms84212 KiB
11Wrong answer0/2194ms84212 KiB
12Wrong answer0/2160ms79816 KiB
13Wrong answer0/2195ms84212 KiB
14Wrong answer0/2165ms84292 KiB
15Wrong answer0/2187ms84212 KiB
16Wrong answer0/2165ms84212 KiB
17Wrong answer0/2193ms84368 KiB
18Wrong answer0/2164ms84296 KiB
19Wrong answer0/3158ms84212 KiB
20Wrong answer0/3187ms84328 KiB
21Wrong answer0/2187ms84288 KiB
22Wrong answer0/2164ms84188 KiB
23Accepted2/2194ms84212 KiB
24Accepted2/2182ms84332 KiB