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

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

Показать ответ
Ответ:
StefaMusic2006
StefaMusic2006
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-бота