Pagini recente » Cod sursa (job #2457199) | Cod sursa (job #1120606) | Cod sursa (job #1411275) | Cod sursa (job #1031035) | Cod sursa (job #85184)
Cod sursa(job #85184)
program schi;
var f,g:text;
n:longint;
v,v1,aux:array[1..60001] of longint;
procedure init_arbore_intervale(nod,a,b:longint);
var m:longint;
begin
v[nod]:=b-a+1;
if a<b then
begin
m:=(a+b) div 2;
init_arbore_intervale(nod*2,a,m);
init_arbore_intervale(nod*2+1,m+1,b);
end;
end;
procedure update(nod,a,b,x,ind:longint);
var m:longint;
begin
dec(v[nod]);
if a=b then
v1[a]:=ind else
begin
m:=(a+b) div 2;
if v[nod*2]>=x then
update(nod*2,a,m,x,ind) else
update(nod*2+1,m+1,b,x-v[nod*2],ind);
end;
end;
procedure van;
var i:longint;
begin
assign(f,'schi.in');
reset(f);
assign(g,'schi.out');
rewrite(g);
readln(f,n);
init_arbore_intervale(1,1,n);
for i:=1 to n do
readln(f,aux[i]);
for i:=n downto 1 do
update(1,1,n,aux[i],i);
close(f);
end;
procedure ila;
var i:longint;
begin
for i:=1 to n do
writeln(g,v1[i]);
close(g);
end;
begin
van;ila;
end.