哪错了??

var a,f:array[0..100]of integer;

min,x,y,n,i,j,k:integer;

begin

readln(n);

for i:=1 to n do read(a[i]);

min:=maxint;

for k:=2 to n-1 do

begin

for i:=1 to k do f[i]:=1;

for i:=1 to k do

for j:=1 to i do

if (a[i]f[j])and(a[i]x then x:=f[i];

for i:=k+1 to n do f[i]:=1;

for i:=k+2 to n do

for j:=k+1 to i do

if(a[j]>a[i])and(f[j]+1>f[i])and(a[j]>a[k])then f[i]:=f[j]+1;

y:=0;

for i:=k+1 to n do if f[i]>y then y:=f[i];

if n-(x+y)

3 条评论

  • @ 2009-08-08 09:48:32

    你才白吃,人好心帮你看看却得到这样的结果

    程序如果输入

    3

    1 2 3

    你不挂了。

    如果最优解里最高的那个的位置是最边上的,你程序就挂了。

  • @ 2009-05-09 08:22:02

    白吃

    什么都不会,去使吧

  • @ 2009-05-08 20:53:51

    这是干什么的程序????

    描述一下过程

  • 1

信息

ID
1098
难度
5
分类
动态规划 | LIS 点击显示
标签
递交数
12832
已通过
4890
通过率
38%
被复制
21
上传者