- 合并果子
- 2009-11-03 14:13:05 @
var n,i,tot,n1,c:longint;
a,b:array[1..20000] of longint;
boo:boolean;
procedure qs(l,r:longint);
var x,y,k,m:longint;
begin
k:=a[random(r-l+1)+l];
x:=l;
y:=r;
repeat
while a[x]>k do x:=x+1;
while a[y]1 then begin
n1:=n1+1;
b[n1]:=a[n]+a[n-1];
a[n]:=0;
a[n-1]:=0;
tot:=tot+b[n1];
n:=n-2;
end;
if n=1 then begin
n1:=n1+1;
b[n1]:=a[n];
n:=0
end;
if n=0 then begin
if n1=1 then boo:=true;
for i:=n1 downto 1 do begin
a[i]:=b[i];
end;
qs(1,n1);
fillchar(b,sizeof(b),0);
n:=n1;
n1:=0;
end;
until boo;
writeln(tot);
end.
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 04:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 05:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:50 有效耗时:0ms