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.