记录编号 60141 评测结果 AAAAAAAAAA
题目名称 [NOIP 2004]合并果子 最终得分 100
用户昵称 Gravatar朱大帅锅 是否通过 通过
代码语言 Pascal 运行时间 0.030 s
提交时间 2013-05-18 11:48:11 内存使用 0.20 MiB
显示代码纯文本
var
  i,j,k,n,a,b,len,temp:longint;
  sum:qword;
  heap:array[0..10010]of longint;
procedure put(x:longint);
var
  son,temp:longint;
begin
  inc(len);
  heap[len]:=x;
  son:=len;
  while (son<>1)and(heap[son div 2]>heap[son]) do
    begin
      temp:=heap[son div 2];
      heap[son div 2]:=heap[son];
      heap[son]:=temp;
      son:=son div 2;
    end;
end;
function get:longint;
var
  fa,son,temp:longint;
begin
  get:=heap[1];
  heap[1]:=heap[len];
  dec(len);
  fa:=1;
  while (fa*2<=len) do
    begin
      if (fa*2+1>len)or (heap[fa*2]<heap[fa*2+1]) then
        son:=fa*2
      else  son:=fa*2+1;
      if heap[fa]>heap[son] then
        begin
          temp:=heap[fa];  heap[fa]:=heap[son]; heap[son]:=temp;
          fa:=son;
        end
      else break;
    end;
end;
begin
  assign(input,'fruit.in'); reset(input);
  assign(output,'fruit.out');rewrite(output);
  readln(n);
  for i:=1 to n do
    begin
      read(temp);
      put(temp);
    end;
  for i:=1 to n-1 do
    begin
      a:=get;
      b:=get;
      inc(sum,a+b);
      put(a+b);
    end;
  writeln(sum);
  close(input);close(output);
end.