В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
20031408
20031408
28.06.2020 04:17 •  Информатика

В свободное от учебы время Даша очень любит смотреть мультсериалы, снятые по комиксам. Она уже выбрала мультсериал для просмотра, но есть одна проблема. Достаточно часто в экранизациях комиксов серии снимают не последовательно по хронологии событий, а в каком-то странном порядке. Чтобы избавить себя от путаницы, Даша решила, что выберет и посмотрит ровно три серии, причем так, чтобы номера этих серий шли в возрастающем порядке и годы, в которые происходят события в сериях, тоже шли в возрастающем порядке. Для каждой серии известно, в каком году происходят события этой серии Даше найти три подходящие серии для просмотра.

Показать ответ
Ответ:
akbotawka02
akbotawka02
20.12.2021 06:00

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)

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота