//arr[0..n] массив в котором будет производится поиск
//current_length длина текущей последовательности
//max_start,max_length начало и длина наибольшей последовательности
current_start:=0;
current_length:=1;
max_start:=0;
max_length:=0;
for i:=1 to n do//начиная со второго элемента
if arr[i]=arr[i-1]+1 then
begin//если элемент больше предыдущего на 1
current_length:=current_length+1;
end
else
begin
if current_length>max_length then
begin
max_length:=current_length;
max_start:=i-1-current_length;//пишется с головы поэтому смещение может быть не верным
current_length:=1;
end;
end;
//на случай если конец самой длинной последовательности совпадает с концом массива
if current_length>max_length then
begin
max_length:=current_length;
max_start:=n-current_length;//пишется с головы поэтому смещение может быть не верным
end;
потому что до кучи оптимизаций будет раньше упираться в процессор с памятью
потом когда счет клиентов пойдет на тысячи сеть станет довольно узким местом
и отслеживать придется .
зы к тому моменту стоит нанять постоянного админа или договор с каким датацентром на размещение и обсуживание