Задача "Семён и ожидание маршрутки" - Pascal

Формулировка задачи:

Иногда уехать на другой берег бывает очень сложно. В такие моменты Семён развлекает себя тем, что запоминает номера проезжающих мимо маршруток и пытается определить самую нерасторопную из них. Семён ждёт уже N минут, и в i-ю минуту мимо него проезжала маршрутка с номером Ai. Семён обратил внимание, что все увиденные номера к текущему моменту появлялись как минимум дважды. Теперь Семён хочет определить максимальное время между появлениями маршруток с одинаковым номером. Помогите ему удовлетворить своё любопытство. Входные данные Первая строка содержит целое число N (2 ≤ N ≤ 100000) — количество минут, в течение которых Семён наблюдает за маршрутками. Вторая строка содержит N целых чисел Ai (1 ≤ Ai ≤ 100000) — номера проезжающих мимо маршруток. Каждый номер встречается не менее двух раз. Выходные данные Выведите одно целое число — максимальное время в минутах между последовательным появлением одинаковых номеров. Примеры входные данные 7 23 5 3 3 23 5 23 выходные данные 4 входные данные 5 2 2 1 2 1 выходные данные 2


textual

Код к задаче: «Задача "Семён и ожидание маршрутки" - Pascal»

var
a:array[1..10000]of longint;
i,n,t,rez,max:longint;
begin
readln(n);
max:=0;
for i:=1 to n do
begin
read(t);
if a[t]=0 then a[t]:=i
 else
 begin
 rez:=i-a[t];
 a[t]:=i;
 if rez>max then max:=rez;
 end;
end;
writeln(max);
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

10   голосов, оценка 4.300 из 5

Источник