Pagini recente » Cod sursa (job #19279) | Cod sursa (job #2735660) | Cod sursa (job #2281706) | Cod sursa (job #2242360) | Cod sursa (job #66255)
Cod sursa(job #66255)
const MaxN=5001;
var
fin,fout:text;
a,v:array[1..MaxN] of longint;
n,x,i,j:integer;
mini,min,max,maxi,maxh:longint;
hossz:longint;
ok:boolean;
begin
assign(fin,'secv.in');reset(fin);
assign(fout,'secv.out');rewrite(fout);
readln(fin,n);
min:=maxlongint;
hossz:=0;
for i:=1 to n do begin
read(fin,a[i]);
if a[i]<min then begin
min:=a[i];
mini:=i;
end;
ok:=true;
for j:=1 to i-1 do
if a[j]=a[i] then ok:=false;
if ok then hossz:=hossz+1;
end;
close(fin);
v[1]:=1;
for i:=mini to n do begin
max:=0;
for j:=mini to i-1 do
if (v[j]>max)and(a[j]<a[i]) then max:=v[j];
v[i]:=max+1;
end;
max:=-1;
for i:=1 to n do
if v[i]>max then begin
max:=v[i];
maxi:=i;
end;
maxh:=maxi-mini+1;
if max=hossz then writeln(fout,maxh)
else writeln(fout,-1);
close(fout);
end.