VIJOS真快啊。。。

这TM都过了

program p1571;
var a:array[0..10000] of longint;
f:array[0..10000,1..2] of longint; n,i,j,sum:longint; //
function max(a,b:longint):longint;
begin
if a>b then exit(a) else exit(b); end;
//
begin
read(n); for i:=1 to n do read(a[i]); for i:=1 to n do f[i,1]:=1; for i:=1 to n do begin for j:=1 to i-1 do if (a[i]>a[j]) and (f[j,2]<>0) then f[i,1]:=max(f[j,2]+1,f[i,1]); for j:=1 to i-1 do if (a[i]<a[j]) and (f[j,1]<>0) then f[i,2]:=max(f[j,1],f[i,2]); end; for i:=1 to n do for j:=1 to 2 do sum:=max(sum,(f[i,j]-1)*2+j); write(sum); end.

7 条评论

  • 1

信息

ID
1571
难度
4
分类
动态规划 | 动态规划 | LIS 点击显示
标签
递交数
1801
已通过
699
通过率
39%
被复制
3
上传者