记录编号 99937 评测结果 AAAAAATAAA
题目名称 排序测试 最终得分 90
用户昵称 GravatarMID_VAMPIRE 是否通过 未通过
代码语言 Pascal 运行时间 9.628 s
提交时间 2014-05-02 07:15:45 内存使用 20.75 MiB
显示代码纯文本
var a,b:array[1..3000000]of longint;
    n,i:longint;

procedure merge(l,r:longint);
var t,i,j,mid:longint;
begin
  t:=l;i:=l;j:=(l+r)>>1+1;mid:=j-1;
  while t<=r do
    begin
      if (i<=mid)and((a[i]<a[j])or(j>r)) then
        begin
          b[t]:=a[i];
          inc(i);
        end
          else
            begin
              b[t]:=a[j];
              inc(j);
            end;
      inc(t);
    end;
  for i:=l to r do a[i]:=b[i];
end;
procedure fen(l,r:longint);
begin
  if l<r then
    begin
      fen(l,(l+r)>>1);
      fen((l+r)>>1+1,r);
      merge(l,r);
    end;
end;
begin
  assign(input,'sorttest.in');reset(input);assign(output,'sorttest.out');rewrite(output);
  readln(n);
  for i:=1 to n do read(a[i]);
  fen(1,n);
  for i:=1 to n do write(a[i],' ');
  close(input);close(output);
end.