Pagini recente » Cod sursa (job #1086957) | Cod sursa (job #1685611) | Cod sursa (job #393356) | Cod sursa (job #432429) | Cod sursa (job #381796)
Cod sursa(job #381796)
#include<fstream>
#define o(x) ((x^(x-1))&x)
#define MaxN 15005
#define MaxM 100005
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int arb[MaxN],n,m;
void plus(int x, int v)
{for(;x<=n;x+=o(x))
arb[x]+=v;}
int qy(int x)
{int s=0;
for(;x;x-=o(x)) s+=arb[x];
return s;}
int main()
{int i,val,op,a,b;
fin>>n>>m;
for(i=1;i<=n;i++)
{fin>>val;
plus(i,val);}
for(i=1;i<=m;i++)
{fin>>op;
if(op==0)
{fin>>a>>b;
plus(a,-b);}
if(op==1)
{fin>>a>>b;
fout<<qy(b)-qy(a-1)<<'\n';}}
return 0;}