Cod sursa(job #866895)

Utilizator MefistossMefistoss Mefistoss Data 28 ianuarie 2013 21:13:35
Problema Datorii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int a[15001],m,n,x,i,y,t;
void adn()	{ int p=i; for(;p<=n;p+=((p^(p-1))&p)) a[p]+=x; }
void scd()	{ int p=y; for(;p<=n;p+=((p^(p-1))&p)) a[p]-=x; }
int subs(int st)	{int s=0,p=st; for(;p>0;p-=((p^(p-1))&p)) s+=a[p]; return s;}  
int main()
{
f>>n>>m;
for(i=1;i<=n;++i) {f>>x; adn();}
for(i=1;i<=m;++i) 
	{
	f>>t>>y>>x;
	if(t==0)
		scd();
	else 
		g<<(subs(x)-subs(y-1))<<'\n';
	}
return 0;
}