- 合唱队形
- 16 年前 @
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 条评论
-
zxa LV 7 @ 15 年前
你才白吃,人好心帮你看看却得到这样的结果
程序如果输入
3
1 2 3
你不挂了。
如果最优解里最高的那个的位置是最边上的,你程序就挂了。 -
16 年前@
白吃
什么都不会,去使吧
-
16 年前@
这是干什么的程序????
描述一下过程
- 1