Cod sursa(job #1899885)

Utilizator jordan1998Jordan jordan1998 Data 2 martie 2017 23:35:01
Problema Arbori de intervale Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#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(arb[a],arb[b]);}g<<x<<'\n';}}}