liuminghao 2011-07-11 18:27:00
点我顶贴
收藏
删除
program num_285;
var f1,f2,a:array[1..30000]of longint;
i,j,n,m1,m2:longint;
begin
readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
begin
f1[i]:=1;
f2[i]:=1;
for j:=1 to i-1 do
begin
if (f1[i]<f1[j]+1)and(a[i]>=a[j])
then f1[i]:=f1[j]+1;
if (f2[i]<f2[j]+1)and(a[i]<=a[j])
then f2[i]:=f2[j]+1;
if f1[i]>m1
then m1:=f1[i];
if f2[i]>m2
then m2:=f2[i];
end;
end;
if m1>m2
then write(n-m1)
else write(n-m2);
end.
超时1个点,90,向大牛们求救如何优化
#1 神经病有所好转@2011-07-11 18:27:00
21186
回复
删除
回复 楼主liuminghao 的帖子
倒过来行不。
for i:=n downto 1 do
for j:=i+1 to n do