import bisect
n = int(input())
a = [int(input()) for i in range(n)]
INF = 10 ** 9
dp = [0] + [INF] * n
prev = [0] * (n + 1)
for elem in a:
i = bisect.bisect_left(dp, elem)
if dp[i] > elem:
dp[i] = elem
prev[i] = dp[i - 1]
if dp[3] == INF:
print(0)
else:
k = n - 1
while a[k] != dp[3]:
k -= 1
j = k - 1
while a[j] != prev[3]:
j -= 1
i = j - 1
while a[i] >= a[j]:
i -= 1
print(i + 1, j + 1, k + 1)
Объяснение: