Pagini recente » Monitorul de evaluare | Cod sursa (job #2864003) | Cod sursa (job #3259423) | Cod sursa (job #916179) | Cod sursa (job #1899902)
#include <fstream>
#define ggg 100001
using namespace std;
int arb[ggg*2],i,n,m,a,b,x;
bool q;
int main()
{
ifstream f("arbint.in");
ofstream g("arbint.out");
f>>n>>m;
for(i=0;i<n;i++)
f>>arb[i+n];
for(i=n-1;i>0;i--)
arb[i]=max(arb[i*2],arb[i*2+1]);
//
for(;m;m--)
{
f>>q;
if(q){
f>>a;a+=n-1;f>>arb[a];a/=2;
for(;a;a/=2) arb[a]=max(arb[a*2],arb[a*2+1]);
}
else{
f>>a>>b;a+=n-1;b+=n-1;
x=max(arb[a],arb[b]);
for(;a<b;)
{
b=(b-1)/2;
a=(a+1)/2;
x=max(x,max(arb[a],arb[b]));
}
g<<x<<'\n';
}
}
}