讨论 / 同题异果
roger_97 2011-07-20 23:22:00
点我顶贴 收藏 删除
在TYVJ(1066)就对了,这里就超时了……555555555555~~

程序如下:

program sunny;

const maxn=10002;

var

a:array[0..maxn]of longint;

n:longint;

procedure init;

var

i:longint;

begin

readln(n);

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

a[0]:=2000000002;

end;

procedure main;

var

i,s,m,min1,min2:longint;

begin

m:=n;

s:=0;

while m>1 do

begin

min1:=0;

min2:=0;

for i:=1 to n do

if a[i]<>-1 then

if a[i]<a[min1] then begin

min2:=min1;

min1:=i;

end

else if a[i]<a[min2] then min2:=i;

a[min1]:=a[min1]+a[min2];

a[min2]:=-1;

inc(s,a[min1]);

dec(m);

end;

writeln(s);

end;

BEGIN

init;

main;

END.

查看更多回复
提交回复