题目地址:http://codevs.cn/problem/1058/
分析:
动态规划
代码:
var a,b,c:array[1..100]of longint; max,i,j,n:longint; begin readln(n); for i:=1 to n do read(a[i]); for i:=1 to n do for j:=1 to i-1 do if (a[j]<a[i])and(b[i]<b[j]+1) then b[i]:=b[j]+1; for i:=n downto 1 do for j:=i+1 to n doif(a[j]<a[i])and(c[i]<c[j]+1)then c[i]:=c[j]+1; for i:=1 to n do if max<c[i]+b[i]+1 then max:=c[i]+b[i]+1; max:=n-max; writeln(max); end.