Решение задачи №1144 «Расстояние между максимумами» с ACMP





Решение задачи №1144 «Расстояние между максимумами» с ACMP

Условие задачи

Элемент последовательности называется локальным максимумом, если он строго больше предыдущего и последующего элемента последовательности. Первый и последний элемент последовательности не являются локальными максимумами.

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

Входные данные
Входной файл INPUT.TXT содержит последовательность неотрицательных целых чисел, не превышающих значения 100. Гарантируется, что во входных данных не более 100 чисел и среди них есть хотя бы одно число 0.

Выходные данные
В выходной файл OUTPUT.TXT выведите целое число – наименьшее расстояние между двумя локальными максимумами. Если в последовательности нет двух локальных максимумов, выведите число 0.

#include<iostream>
using namespace std;
main()
{
int k=0,n=0,m=0,x,y,z;
cin>>x>>y>>z;
do
{
k++;
if(y>z&&x<y)
{
n++;
if(n>1&&(n==2||n>2&&k<m))m=k;
k=0;
}
x=y;
y=z;
cin>>z;}
while(z);
cout<<m;
}



Условия задач взяты с сайта acmp.ru