183402025-10-20 17:26:00algoproInverziópypy3Hibás válasz 3/50224ms88340 KiB
# UUID: 24b7d634-b2a6-4e53-85a3-f913956fd752
n = int(input())
a = list(map(int, input().split()))

min_val = a[-1]
min_idx = n - 1
min_right = [(a[-1], n - 1)] * n

for i in range(n - 2, -1, -1):
    if a[i] < min_val:
        min_val = a[i]
        min_idx = i
    min_right[i] = (min_val, min_idx)

max_dist = -1
i_ans = j_ans = -1

for i in range(n - 1):
    val, j = min_right[i + 1]
    if a[i] > val:
        dist = j - i
        if dist > max_dist:
            max_dist = dist
            i_ans = i + 1
            j_ans = j + 1

if max_dist == -1:
    print(-1)
else:
    print(i_ans, j_ans+1)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base3/50
1Elfogadva0/039ms19424 KiB
2Hibás válasz0/063ms27336 KiB
3Elfogadva1/143ms19712 KiB
4Hibás válasz0/248ms21208 KiB
5Hibás válasz0/743ms21184 KiB
6Hibás válasz0/268ms27412 KiB
7Hibás válasz0/2218ms87800 KiB
8Hibás válasz0/2194ms88340 KiB
9Hibás válasz0/2189ms88304 KiB
10Hibás válasz0/2224ms88308 KiB
11Hibás válasz0/2223ms88308 KiB
12Hibás válasz0/2185ms84796 KiB
13Hibás válasz0/2219ms88304 KiB
14Hibás válasz0/2188ms88300 KiB
15Hibás válasz0/2217ms87796 KiB
16Hibás válasz0/2222ms88308 KiB
17Hibás válasz0/2189ms88308 KiB
18Hibás válasz0/2189ms88304 KiB
19Hibás válasz0/3218ms87792 KiB
20Hibás válasz0/3217ms87792 KiB
21Hibás válasz0/2188ms87796 KiB
22Hibás válasz0/2190ms88256 KiB
23Hibás válasz0/2214ms88312 KiB
24Elfogadva2/2182ms88172 KiB