第一次提交:

program BENBEN;

var a:array[1..10000]of longint;

g:array[1..10000,1..2]of longint;

n,i,j,m1,m2,max:longint;

begin

readln(n);

fillchar(g,sizeof(g),0);

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

g[1,1]:=1; g[1,2]:=0; max:=0;

for i:=2 to n do

begin

m1:=0; m2:=0;

for j:=1 to i-1 do

begin

if (g[j,1]>m1)and(a[j]>a[i]) then m1:=g[j,1];

if (g[j,2]>m2)and(a[j]max then max:=g;

if g>max then max:=g;

end;

write(max);

end.

编译通过...

├ 测试数据 01:答案正确... 212ms

├ 测试数据 02:答案正确... 88ms

├ 测试数据 03:答案错误... ├ 标准行输出

 ├ 错误行输出

├ 测试数据 04:答案正确... 0ms

├ 测试数据 05:答案正确... 56ms

├ 测试数据 06:答案正确... 0ms

├ 测试数据 07:答案错误... ├ 标准行输出

 ├ 错误行输出

├ 测试数据 08:答案正确... 9ms

├ 测试数据 09:答案正确... 150ms

├ 测试数据 10:运行超时|无输出...

---|---|---|---|---|---|---|---|-

Unaccepted 有效得分:70 有效耗时:515ms

第二次:

……for i:=2 to n do

begin

for j:=1 to i-1 do

begin

if (g[j,1]+1>g)and(a[j]>a[i]) then g:=g[j,1]+1; if (g[j,2]+1>g)and(a[j]max then max:=g;

if g>max then max:=g;

end;

write(max);

end.

编译通过...

├ 测试数据 01:答案正确... 446ms

├ 测试数据 02:答案正确... 228ms

├ 测试数据 03:答案正确... 0ms

├ 测试数据 04:答案正确... 0ms

├ 测试数据 05:答案正确... 212ms

├ 测试数据 06:答案正确... 0ms

├ 测试数据 07:答案正确... 0ms

├ 测试数据 08:答案正确... 103ms

├ 测试数据 09:答案正确... 228ms

├ 测试数据 10:答案正确... 212ms

---|---|---|---|---|---|---|---|-

Accepted 有效得分:100 有效耗时:1429ms

为什么会出现这情况?改前后的程序有何不同?

请大牛解释下

0 条评论

目前还没有评论...

信息

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