Cod sursa(job #1413089)

Utilizator ursu.daniel2202dUrsu Daniel ursu.daniel2202d Data 1 aprilie 2015 18:25:08
Problema Sortare prin comparare Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.76 kb
program palgsort;
var
        a : array[1..500000] of longint;
        n ,i : longint;
        f1 ,f2 : text;
        bufin : array[1..1 shl 22] of char;
 
procedure qs(l ,r : longint);
var
        i ,j ,p ,m : longint;
begin
i := l; j := r; p := a[(i + j) div 2];
while i < j do
begin
 while a[i] < p do inc(i);
 while a[j] > p do dec(j);
 if i <= j then
 begin m := a[i]; a[i] := a[j]; a[j] := m; inc(i); dec(j); end;
end;
 if i < r then qs(i,r);
 if j > l then qs(l,j);
end;
 
begin
        assign(f1,'algsort.in');
        assign(f2,'algsort.out');
        reset(f1);
        rewrite(f2);
        readln(f1,n);
 for i := 1 to n do read(f1,a[i]);
 qs(1,n);
 
 settextbuf(f2,bufin);
 for i := 1 to n do write(f2,a[i],' ');
 close(f2);
end.