Cod sursa(job #1195521)

Utilizator maricasorinSorin-Gabriel maricasorin Data 7 iunie 2014 16:21:03
Problema Arbori de intervale Scor 20
Compilator fpc Status done
Runda Arhiva educationala Marime 0.68 kb
program arbordideintervale;
type vector=array [1..100000] of longint;
var v:vector;
    o:byte;
    a,b,i,n,m:longint;
    f,g:text;
function max(i,n:integer):longint;
 var d:integer;
 begin
 if n-i<=1 then if v[n]>v[i] then max:=v[n]
                            else max:=v[i]
          else begin
           d:=(i+n) div 2;
           if max(i,d)>max(d+1,n) then max:=max(i,d)
            else max:=max(d+1,n);
           end;
 end;
begin
assign (f,'arbint.in');
reset(f);
assign (g,'arbint.out');
rewrite (g);
readln (f,n,m);
for i:=1 to n do read(f,v[i]);
readln (f);
for i:=1 to m do begin
 readln(f,o,a,b);
 if o=0 then writeln (g,max(a,b));
 if o=1 then v[a]:=b;
 end;
close(f);
close(g);
end.