Максимальная длина монотонного фрагмента последовательности.
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите наибольшую длину монотонного фрагмента последовательности (то есть такого фрагмента, где все элементы либо больше предыдущего, либо меньше).
Ввод Вывод
1 2
7
7
9
1
0
Answers & Comments
===== PascalABC.NET =====
begin
var (k, kmax, s) := (1, 0, 1);
var a := ReadInteger;
if a = 0 then
begin
Print(1);
exit
end;
foreach var b in ReadSeqIntegerWhile(p -> p <> 0) do
begin
var sgn := Sign(b - a);
a := b;
if sgn = s then
k += 1
else
begin
if k > kmax then
kmax := k;
(k, s) := (2, sgn)
end
end;
if k > kmax then
kmax := k;
Print(kmax)
end.