Cod sursa(job #605510)

Utilizator cosminx2003Cosmin Clapon cosminx2003 Data 29 iulie 2011 19:52:08
Problema Arbori indexati binar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream.h>
#include <fstream.h>
#define NMAX 100000

int v[NMAX],N,M;
fstream f("aib.in");
fstream g("aib.out");

int operatie1(int a,int b);
int operatie2(int a);
void afisare()
{
	for(int i=1;i<=N;i++) cout<<v[i]<<" ";
}

int main()
{
	short int k;
	int i,j,a,b;
	
	f>>N;
	f>>M;
	for(i=1;i<=N;i++)
		f>>v[i];
	for(j=1;j<=M;j++)
	{
		f>>k;
		f>>a;
		b=0;
		if(k<2)
			f>>b;
		if(k==0)
			v[a]+=b;
		if(k==1)
			g<<operatie1(a,b)<<"\n";
		if(k==2)
			g<<operatie2(a)<<"\n";
			
	}
	
	//afisare();
	
	f.close();
	g.close();
	return 0;
}

int operatie1(int a,int b)
{
	int s=0,i;
	for(i=a;i<=b;i++)
		s+=v[i];
	return s;
}

int operatie2(int a)
{
	int s=0,k=1;
	while(s<a)
		s+=v[k++];
	return (k-1);
}