Pagini recente » Cod sursa (job #2807482) | Cod sursa (job #561470) | Cod sursa (job #2679980) | Cod sursa (job #2636052) | Cod sursa (job #2557174)
#include <iostream>
#include <fstream>
#define zeros(x) ((x^(x-1))&x)
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int v[15001],N,M,AIB[15001],x;
inline int Add(int poz, int val)
{
for(int i=poz;i<=N;i+=zeros(i))
AIB[i]+=val;
}
inline int Compute(int poz)
{
int ret=0;
for(int i=poz;i>0;i-=zeros(i))
ret+=AIB[i];
return ret;
}
int main()
{
fin>>N>>M;
for(int i=1;i<=N;i++){
fin>>x;
Add(i,x);
}
for(int i=1;i<=M;i++)
{
int nr,T,P;
fin>>nr>>T>>P;
if(!nr)
Add(T,(-1)*P);
else
fout<<Compute(P)-Compute(T-1)<<'\n';
}
}