24 lines
434 B
ObjectPascal
24 lines
434 B
ObjectPascal
var
|
|
i,j,k,l,m,n:integer;
|
|
a,b:array[0..10000]of integer;
|
|
|
|
begin
|
|
assign(input,'train.in'); reset(input);
|
|
assign(output,'train.out'); rewrite(output);
|
|
readln(n);
|
|
for i:=1 to n do
|
|
read(a[i]);
|
|
for i:=1 to n do
|
|
begin
|
|
while (b[k]<>a[i]) and (k<n+1) do
|
|
begin
|
|
inc(k);
|
|
inc(l);
|
|
b[k]:=l;
|
|
end;
|
|
dec(k);
|
|
end;
|
|
if k=0 then writeln('YES')
|
|
else writeln('NO');
|
|
close(input); close(output);
|
|
end. |