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

Определите наименьшее расстояние между двумя локальными максимумами последовательности натуральных чисел, завершающейся числом 0. Если в последовательности нет двух локальных максимумов, выведите число 0. Начальное и конечное значение при этом локальными максимумами не считаются. Pascal или Python
Гость
Ответ(ы) на вопрос:
Гость
Под локальным максимумом, скорее всего, имеется в виду число, большее чем оба его соседа, за исключением случая, когда соседом справа является 0. В таком случае достаточно однократно пройтись по всем числам, запоминая минимальное из расстояний между новым и предыдущим обнаруженными максимумами. Программа (язык Pascal ABC.Net) var i1,i2,i3:integer;     i:integer;     curr,minr,lastmax:integer; begin   readln(i1,i2);   i:=2;   minr:=1000000;   repeat     readln(i3);     if (i2>i1) and (i2>i3) and (i3<>0) then begin       curr:=i-lastmax;       if curr
Не нашли ответ?
Ответить на вопрос
Похожие вопросы