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

нужна Аттракцион «Американские горки» представляет собой рельсовый трек, размещённый на опорах. Известна высота каждой опоры. Для рекламы аттракциона необходимо выделить один из его фрагментов (несколько подряд идущих опор с рельсовым треком) световой подсветкой. При этом необходимо выделить такой фрагмент трека, на котором была бы «горка» то есть на выделенном участке трека была бы точка, которая находилась бы строго выше начала и строго выше конца выделенного фрагмента трека.

Владелец аттракциона для экономии хочет найти подходящий участок минимальной длины, удовлетворяющий условию наличию «горки» на этом участке.

Входные данные
Первая строка входных данных содержит число N – количество опор аттракциона. Следующие N строк содержат информацию о высотах опор при движении от начала к концу аттракциона. Все числа натуральные, не превосходящие 105.

Выходные данные
Программа должна вывести два числа – номер первой и последней подходящей опоры. Опоры нумеруются числами от 1 до N. Если фрагмента, удовлетворяющего условиям, не существует, программа должна вывести одно число 0. Если подходящих ответов несколько, нужно вывести любой из них.

Ответ:
CatolizatoRRR
CatolizatoRRR
15.10.2020 08:21

N = int(input())

X = [''] * N

for a in range(N):

   X[a] = int(input())

a = 0

c, b, e, f = 0, 0, 0, N + 1

g, h = 0, 0

while a < N - 2:

   a += 1

   e += 1

   b, c = X[a], b

   if c < b:

       while a < N - 1:

           a += 1

           e += 1

           d = X[a]

           if d < b:

               if e < f:

                   g, h = a - e + 1, a + 1

                   f = e

               break

           elif d == b:

               continue

           else:

               break

   e = 0

if g == 0 and h == 0:

   print(0)

else: print(g, h)

Объяснение:

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