Pagini recente » Cod sursa (job #2765024) | Cod sursa (job #2655163) | Cod sursa (job #1218104) | Cod sursa (job #2593927) | Cod sursa (job #2356141)
#include <bits/stdc++.h>
#define DMAX 15010
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int AIB[DMAX];
int n,m;
void Add(int x,int quantity);
int Compute(int x);
int main()
{int i,val,x,y;
fin>>n>>m;
for(i=1;i<=n;i++)
{fin>>val;
Add(i,val);
}
for(i=1;i<=m;i++)
{fin>>val>>x>>y;
if(!val)
Add(x,-y);
else
fout<<Compute(y)-Compute(x-1)<<'\n';
}
return 0;
}
void Add(int x,int quantity)
{int i;
for(i=x;i<=n;i+= ((i) & (-i)))
AIB[i]+=quantity;
}
int Compute(int x)
{int i,ret=0;
for(i=x;i>0;i-= ((i) & (-i)))
ret+=AIB[i];
return ret;
}