Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt Формат вводаВ первой строке входного файла записано натуральное число N (3 ≤ N ≤ 1 000 000). Во второй строке записано N неотрицательных целых чисел через пробел, каждое из которых не превосходит 1 000 000 000.Формат выводаВ выходной файл выведите три искомых числа. Если ответов несколько, выведите те числа, которые расположены левее. Если таких чисел нет, выведите -1.

13 Сен 2019 в 04:43
4 495 +1
1
Ответы
1

import sys

def find_three_numbers(n, arr):
prefix_min = [0] n
suffix_max = [0] n

prefix_min[0] = arr[0]
for i in range(1, n):
prefix_min[i] = min(prefix_min[i-1], arr[i])
suffix_max[n-1] = arr[n-1]
for i in range(n-2, -1, -1):
suffix_max[i] = max(suffix_max[i+1], arr[i])
for i in range(1, n-1):
if arr[i] > prefix_min[i-1] and arr[i] < suffix_max[i+1]:
return arr[i-1], arr[i], arr[i+1]
return -1, -1, -1

if name == "main":
n = int(input())
arr = list(map(int, input().split()))

result = find_three_numbers(n, arr)
print(result[0], result[1], result[2])
20 Апр в 01:20
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир