Pagini recente » Cod sursa (job #2521613) | Cod sursa (job #1015659) | Cod sursa (job #2874248) | Cod sursa (job #59609) | Cod sursa (job #505238)
Cod sursa(job #505238)
var
f,g:text;
max,a,b,x,n,m,i,j:longint;
v:array[1..100000] of longint;
function divmax(p,q:longint):longint;
var
mij:integer;
max1,max2:longint;
begin
if p=q then divmax:=v[p]
else
begin
mij:=(p+q) div 2;
max1:=divmax(p,mij);
max2:=divmax(mij+1,q);
if (max1>max2) then divmax:=max1
else divmax:=max2;
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]);
for i:=1 to m do
begin
read(f,x,a,b);
if x=0 then
begin
if b-a=1 then
if v[b]>v[a] then max:=v[b]
else max:=v[a];
if b-a<>1 then max :=divmax(a,b);
{begin
max:=v[a];
for j:=a+1 to b do
if v[j]>max then max:=v[j];
end;
}
writeln(g,max);
end;
if x=1 then v[a]:=b;
end;
close(f);close(g);
end.