Cod sursa(job #557637)

Utilizator paul24090FMI - Balauru Paul paul24090 Data 16 martie 2011 19:01:01
Problema Arbori de intervale Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>

int n,m,v[100006];

void citire(){
	scanf("%d %d",&n,&m);
	int i;
	for(i=1;i<=n;i++)
		scanf("%d",&v[i]);
}

void solve(int a,int b){
	int max=-1,i;
	for(i=a;i<=b;i++)
		if(max<v[i])
			max=v[i];
	printf("%d\n",max);
}

void rezolvare1(){
	int i,x,a,b;
	for(i=1;i<=m;i++){
		scanf("%d %d %d",&x,&a,&b);
		if(x==1)
			v[a]=b;
		else solve(a,b);
	}
}	

void rezolvare2(){
	int i,x,a,b;
	for(i=1;i<=m;i++){
		scanf("%d %d %d",&x,&a,&b);
	}
}

int main(){
	freopen("arbint.in","r",stdin);
	freopen("arbint.out","w",stdout);
	citire();
	if(n<=10000 && m<=10000)
		rezolvare1();
	else rezolvare2();
	return 0;
}