def main():
import sys
data = sys.stdin.read().strip().split()
if not data:
return
n = int(data[0])
r = list(map(int, data[1:]))
# Словарь, в котором для каждой сложности храним первый встреченный индекс
first_occurrence = {}
for i, diff in enumerate(r, start=1):
if diff not in first_occurrence:
first_occurrence[diff] = i
# Если уникальных значений меньше 3, решения не существует.
if len(first_occurrence) < 3:
print("-1 -1 -1")
return
# Сортируем уникальные сложности
sorted_diffs = sorted(first_occurrence.keys())
# Выбираем первые три сложности
a = first_occurrence[sorted_diffs[0]]
b = first_occurrence[sorted_diffs[1]]
c = first_occurrence[sorted_diffs[2]]
print(a, b, c)
if __name__ == '__main__':
main()
задач, сложность i
-й задачи равна ri
. Задачи пронумерованы от 1
до n
.
Помогите Поликарпу выбрать любые такие три задачи a
, b
и c
, что сложность первой из них строго меньше сложности второй, а сложность второй строго меньше сложности третьей. Иными словами, для выбранных задач a
, b
и c
должно выполняться, что ra<rb<rc
.
Если Поликарп может выбрать три задачи требуемым образом неоднозначно, то выведите любой из способов.
Входные данные
В первой строке записано целое число n
(3≤n≤3000
) — количество задач в списке Поликарпа.
Далее во второй строке записаны n
целых чисел r1,r2,…,rn
(1≤ri≤109
), где ri
— сложность i
-й задачи.
Выходные данные
Если выбрать три задачи требуемым образом невозможно, то выведите три числа -1. В противном случае выведите любой из способов выбрать три задачи в виде трёх различных целых чисел a,b,c
(1≤a,b,c≤n
), где a
— номер первой выбранной задачи, b
— номер второй выбранной задачи, c
— номер третьей выбранной задачи.
Примеры
Входные данныеСкопировать
6
3 1 4 1 5 9
Выходные данныеСкопировать
4 1 3
Входные данныеСкопировать
5
1 1000000000 1 1000000000 1
Выходные данныеСкопировать
-1 -1 -1
Входные данныеСкопировать
9
10 10 11 10 10 10 10 10 1
Выходные данныеСкопировать
9 8 3