Pagini recente » Cod sursa (job #827040) | Cod sursa (job #2451318) | Cod sursa (job #538081) | Cod sursa (job #1657110) | Cod sursa (job #1962709)
#include <fstream>
#include <cstring>
#define LBS(x) ((x^(x-1))&x)
using namespace std;
int N,M,i,AIB[15001],v,Q,R,sum,x;
void adaug(int x,int quant){
for(int j=x;j<=N;j+=LBS(j))
AIB[j]+=quant;
}
int Sum(int x){
int ret=0;
for(int j=x;j>=1;j-=LBS(j))
ret+=AIB[j];
return ret;
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%d%d",&N,&M);
for(i=1;i<=N;i++){
scanf("%d",&x);
adaug(i,x);
}
for(i=1;i<=M;i++){
scanf("%d%d%d",&v,&Q,&R);
if(v==0)adaug(Q,-R);
else{
sum=Sum(R)-Sum(Q-1);
printf("%d\n",sum);
}
}
return 0;
}