Cod sursa(job #168065)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 30 martie 2008 17:47:47
Problema Datorii Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.73 kb
program dat;
var A : array [1..45000] of longint;
    i,m,n,x : longint;
    f,g : text;
function max(a,b:longint):longint;
begin
if a>b then max := a
        else max := b;
end;


procedure update(nod,st,dr,p,v:longint);
var mij : longint;
begin
if st=dr then A[nod] := v
else begin
        mij := (st+dr) div 2;
        if p<=mij then update(2*nod,st,mij,p,v)
                  else update(2*nod,mij+1,dr,p,v);
        A[nod] := max(A[2*nod],A[2*nod+1]);
        end;
end;




begin
assign(f,'datorii.in');
reset(f);
assign(g,'datorii.out');
rewrite(g);

readln(f,n,m);

for i := 1 to n do begin
read(f,x);
update(1,1,n,i,x);
end;


for i := 1 to n do
write(A[i],' ');

readln;




end.