Cod sursa(job #291295)

Utilizator b_ady20Branescu Adrian b_ady20 Data 29 martie 2009 17:23:22
Problema Sortare prin comparare Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.69 kb
type vector=array[1..500000] of int64;
var a:vector; n:int64; i:longint;
procedure qsort(var a:vector; lo,hi:integer);
procedure sort (l,r:integer);
var i,j:integer; x,y:int64;
begin
i:=l; j:=r; x:=a[(l+r)div 2];
repeat
while a[i]<x do i:=i+1;
while x<a[j] do j:=j-1;
if i<=j then
begin
y:=a[i]; a[i]:=a[j]; a[j]:=y;
inc(i); dec(j);
end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end;
begin
sort(lo,hi);
end;
begin
assign (input,'algsort.in');
reset (input);
readln (input,n);
for i:=1 to n do
read (input,a[i]);
close (input);
qsort(a,1,n);
assign (output,'algsort.out');
rewrite (output);
for i:=1 to n do
write (output,a[i],' ');
close (output);
end.