Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt Вывод стандартный вывод или output.txt Формат вводаВ первой строке входного файла записано натуральное число N (3 ≤ N ≤ 1 000 000). Во второй строке записано N неотрицательных целых чисел через пробел, каждое из которых не превосходит 1 000 000 000.Формат выводаВ выходной файл выведите три искомых числа. Если ответов несколько, выведите те числа, которые расположены левее. Если таких чисел нет, выведите -1.
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])
import sys
def find_three_numbers(n, arr):
prefix_min[0] = arr[0]prefix_min = [0] n
suffix_max = [0] n
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":
result = find_three_numbers(n, arr)n = int(input())
arr = list(map(int, input().split()))
print(result[0], result[1], result[2])