Cod sursa(job #1447632)

Utilizator IoanaaChriistinaaPascal Ioana-Cristina IoanaaChriistinaa Data 4 iunie 2015 21:30:30
Problema Datorii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#define zeros(x) ((x^(x-1))&x)
#include<fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
void up(int poz, int quantity)
{
	for(int i=poz;i<=n;i+=zeros(i))
		AIB[i]+=quantity;
}
void down(int poz, int quantity)
{
	for(int i=poz;i<=n;i+=zeros(i))
		AIB[i]-=quantity;
}
int sum(int x)
{
	int s=o;
	for(int i=x;i>0;i-=zeros(i))
		s+=AIB[i];
	return s;
}
int n,m,val,poz,cheie,x, y, AIB[15050];
int main()
{
	in>>n>>m;
	for(i=1;i<=n;i++) in>>x, up(i,x);
	while(m--)
	{
		in>>cheie>>x>>y;
		if(cheie)
			out<<(sum(y)-sum(x-1));
		down(x,y);
	}

	return 0;
}