Самая длинная последовательность, состоящая из одинаковых элементов | Язык Паскаль
Pascal. Основы программирования Сложные Средние Простые задачи

Самая длинная последовательность, состоящая из одинаковых элементов

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

Например, если массив выглядит так:
0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0
, то количество элементов самой длинной последовательности, состоящей из одинаковых элементов, равно 5, а начинается она с 9-го элемента.

const
    N = 30;
var
    arr: array[1..N] of byte;
    i: byte;
    start_max, len_max, start_current, len_current: byte;
 
begin
    randomize;
    for i:=1 to N do begin
        arr[i] := random(2);
        write(arr[i],' ');
    end;
    writeln;
 
    len_max := 1;
    len_current := 1;
    start_current := 1;
    for i:=1 to N-1 do
        if arr[i] = arr[i+1] then
            len_current := len_current + 1
        else begin
            if len_current > len_max then begin
                len_max := len_current;
                start_max := start_current;
            end;
            len_current := 1;
            start_current := i+1;
        end;
 
    if len_current > len_max then begin
        len_max := len_current;
        start_max := start_current;
    end;
 
    writeln('Начало последовательности (номер элемента): ', start_max);
    writeln('Длина последовательности: ', len_max);
end.