Pagini recente » Cod sursa (job #601768) | Cod sursa (job #2155308) | Cod sursa (job #727825) | Cod sursa (job #2897842) | Cod sursa (job #46431)
Cod sursa(job #46431)
var a,b:array[1..5010]of longint;
n,m,i,j,min,s,t,q,l:longint;
procedure Sort;
var i,sch,z:longint;
begin
repeat
sch:=0;
for i:=1 to m-1 do
begin
if b[i]>b[i+1] then
begin
z:=b[i];
b[i]:=b[i+1];
b[i+1]:=z;
sch:=1;
end;
end;
until sch=0;
end;
begin
assign(input,'secv.in');
reset(input);
assign(output,'secv.out');
rewrite(output);
readln(n);
m:=0;
for i:=1 to n do
begin
read(a[i]);
q:=0;
for j:=1 to m do
begin
if b[j]=a[i] then
begin
q:=1;
break;
end;
end;
if q=0 then
begin
inc(m);
b[m]:=a[i];
end;
end;
sort;
j:=1;
min:=n+1;
for i:=1 to n do
begin
l:=i;
j:=1;
s:=1;
if a[i]=b[1] then
begin
j:=j+1;
while l<n do
begin
if j>m then break;
l:=l+1;
if a[l]=b[j] then
begin
j:=j+1;
s:=s+1;
end;
end;
if (s=m)and(l-i+1<min) then min:=l-i+1;
end;
end;
if min=n+1 then min:=-1;
writeln(min);
close(output);
end.