Pagini recente » Cod sursa (job #1557701) | Cod sursa (job #1590683) | Cod sursa (job #2561518) | Cod sursa (job #1413817) | Cod sursa (job #49871)
Cod sursa(job #49871)
type inte=1..30001;
var f,g:text;
i,j,n,x:inte;
vv,v:array[1..30000] of integer;
procedure quick(ss,d:longint);
var aux,a,b,ia:longint;
begin
a:=ss; b:=d;
repeat
while v[a]<v[b] do dec(b);
aux:=v[a]; v[a]:=v[b]; v[b]:=aux;
aux:=vv[a]; vv[a]:=vv[b]; vv[b]:=aux;
inc(a); ia:=1;
if b>a then
begin
while v[a]<v[b] do inc(a);
aux:=v[a]; v[a]:=v[b]; v[b]:=aux;
aux:=vv[a]; vv[a]:=vv[b]; vv[b]:=aux;
dec(b); ia:=0;
end;
until b<=a;
if ss<a-ia then quick(ss,a-ia);
if a-ia+1<d then quick(a-ia+1,d);
end;
begin
assign(f,'schi.in');
reset(f);
assign(g,'schi.out');
rewrite(g);
readln(f,n);
for i:=1 to n do begin v[i]:=n+1; vv[i]:=i;end;
for i:=1 to n do
begin
readln(f,x);
v[i]:=x;
if i>1 then for j:=1 to i-1 do if v[j]>=x then inc(v[j]);
end;
quick(1,n);
for i:=1 to n do writeln(g,vv[i]);
close(g); close(f);
end.