Cod sursa(job #1133387)

Utilizator azkabancont-vechi azkaban Data 4 martie 2014 20:34:05
Problema Sortare prin comparare Scor 80
Compilator fpc Status done
Runda Arhiva educationala Marime 1.03 kb
Program qsort;
var A : array [1..500001] of int64;
    i : longint;
    n : int64;

procedure qsort ( left, right : longint ) ;
        var i,j, pivot,aux : longint;
          begin
            i:=left; j:=right; pivot:=A[(right+left) div 2 + 1];
            repeat
                while A[i]<pivot do i:=i+1;
                while A[j]>pivot do j:=j-1;
                if i<=j then begin
                                  aux:=A[i];
                                  A[i]:=A[j];
                                  A[j]:=aux;
                                  i:=i+1;
                                  j:=j-1;
                             end;
            until i>j;
            if i<right then qsort(i,right);
            if j>left then qsort(left,j);
          end;

begin
     assign(input,'algsort.in'); reset(input);
     assign(output,'algsort.out'); rewrite(output);
     readln(n);
     for i:=1 to n do read(A[i]);
     qsort(1,n);
     for i:=1 to n do write(A[i],' ');
     close(input);
     close(output);
end.