Pagini recente » Cod sursa (job #2779510) | Cod sursa (job #2366693) | Cod sursa (job #212991) | Cod sursa (job #2248382) | Cod sursa (job #1195521)
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.