Cod sursa(job #204130)

Utilizator nusmaibunkeleviprofesor cicalescu nusmaibunkelevi Data 21 august 2008 23:04:53
Problema Arbori indexati binar Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>

#define NMAX	100000

int n,v[NMAX+1];

int main(){
freopen("aib.in","r",stdin);
freopen("aib.out","w",stdout);
int i,j,m,tip,a,b,s;
scanf("%d %d",&n,&m);
for(i=1;i<=n;++i) scanf("%d",&v[i]);
for(j=0;j<m;++j){
	scanf("%d %d",&tip,&a);
	if(tip<2) scanf("%d",&b);
	switch (tip){
		case 0:v[a]+=b; break;
		case 1:s=0;
			   for(i=a;i<=b;++i) s+=v[i];
			   printf("%d\n",s);
			   break;
		case 2:s=0;i=1;
			   while(i<=n&&s<a){
					s+=v[i];
					i++;
					}
			   if(s==a) printf("%d\n",i-1);
			   else printf("-1\n");
		}
	}
return 0;
}