- 笨笨的导弹攻击
- 2009-07-10 21:02:08 @
第一次提交:
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
为什么会出现这情况?改前后的程序有何不同?
请大牛解释下