Cod sursa(job #215694)

Utilizator Alexa_ioana_14Antoche Ioana Alexandra Alexa_ioana_14 Data 20 octombrie 2008 15:30:43
Problema Arbori indexati binar Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<stdio.h>
#define N 100005
int s[N];
void citire()
{
	int n,m,i,a,b,d,v[N],j;
	scanf("%d%d",&n,&m);
	for (i=1; i<=n; ++i)
	{	
		scanf("%d",&v[i]);
		s[i]=s[i-1]+v[i];
	}
	for (i=1; i<=m; ++i)
	{
		scanf("%d%d",&d,&a);
		if (!d)
		{
			scanf("%d",&b);
			v[a]+=b;
			s[a]+=b;
			for (j=a+1; j<=n; ++j)
				s[j]+=b;
		}
		if (d==1)
		{
			scanf("%d",&b);
			printf("%d\n",s[b]-s[a-1]);
		}
		if (d==2)
		{
			int ver=0;
			for (j=1; j<=n;++j)
				if (s[j]==a)
				{
					ver=1;
					printf("%d\n",j);
					break;
				}
			if (!ver)
				printf("-1\n");
		}
			
	}
}
int main()
{
	freopen("aib.in","r",stdin);
	freopen("aib.out","w",stdout);
	citire();
	return 0;
}