Cod sursa(job #277958)

Utilizator luigiPacala luigi Data 11 martie 2009 23:38:29
Problema Sortare prin comparare Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.68 kb
var f:text;
    v:array[1..500000] of int64;
    n,r,j,p,aux:int64;
    i:integer;
    ok:boolean;
procedure quick(st,dr:int64);
var ii,jj,i:int64;
begin
i:=st;
j:=dr;
ii:=0;
jj:=-1;
ok:=true;
while i<j do
 begin
  if v[i]>v[j] then
   begin
    ok:=false;
    aux:=v[j];
    v[j]:=v[i];
    v[i]:=aux;
    aux:=ii;
    ii:=-jj;
    jj:=-aux;
   end;
  i:=i+ii;
  j:=j+jj;
 end;
if ok=false then
 begin
  quick(st,i-1);
  quick(i+1,dr);
 end;
end;

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