Решение задачи Наименьшее расстояние между локальными максимумами с Яндекс Контест

Без пояснения   Просмотров: 2729


Определите наименьшее расстояние между двумя локальными максимумами последовательности натуральных чисел, завершающейся числом 0. Локальным максимумом называется такое число в последовательности, которое больше своих соседей. Если в последовательности нет двух локальных максимумов, выведите число 0. Начальное и конечное значение при этом локальными максимумами не считаются.


Код

res = 1000000000
first = int(input())
if first == 0:
    print(0)
    exit()
second = int(input())
if second == 0:
    print(0)
    exit()
third = int(input())
if third == 0:
    print(0)
    exit()

if second > first and second > third:
    pos = 2
else:
    pos = -1

n = int(input())
k = 4
while n != 0:
    first = second
    second = third
    third = n
    if second > first and second > third:
        if pos == -1:
            pos = k - 1
        elif k - pos - 1 <= res:
            res = k - pos - 1
            pos = k - 1
    n = int(input())
    k += 1
if pos == -1 or res == 1000000000:
    print(0)
else:
    print(res)

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет