ssfzzsf 2010-02-24 07:07:00
点我顶贴
收藏
删除
var
ans,p,m,i,n,mid,l,r,t,k:longint;
a,data,b,f,g:array[0..100] of longint;
begin
{assign(input,'rq26.in');
reset(input);}
readln(n);
for i:=1 to n do
begin
read(data[i]);t:=data[i];
if t>f[m] then begin inc(m);f[m]:=t;a[i]:=m;end
else begin l:=0;r:=m;while l<r do
begin
mid:=(l+r) shr 1;
if t>=f[mid] then
l:=mid+1
else
r:=mid;
end;f[l]:=t;a[i]:=l;end;
end;
for i:=n downto 1do
begin
t:=data[i];
if t>g[p] then begin inc(p);g[p]:=t;b[i]:=p;end
else begin l:=0;r:=p;while l<r do //f inc
begin
mid:=(l+r) shr 1;
if t>=g[mid] then
l:=mid+1
else
r:=mid;
end;g[l]:=t;b[i]:=l;end;
end;
ans:=maxlongint;
for i:=1 to n do
if n-(a[i]+b[i])<ans then ans:=n-(a[i]+b[i]);
writeln(ans+1);
end.