Pagini recente » Cod sursa (job #1899006) | Cod sursa (job #124216) | Cod sursa (job #2873614) | Cod sursa (job #1085474) | Cod sursa (job #1103882)
#include <cstdio>
#define NMAX 15001
int AIB[NMAX];
int n,m;
int zero(int x){
return(x^(x-1))&x;
}
void update(int ind,int x){
while(ind <=n){
AIB[ind]+=x;
ind += zero(ind);
}
}
int query(int ind){
int S=0;
while(ind){
S+=AIB[ind];
ind-=zero(ind);
}
return S;
}
int main(){
int x;
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%d%d",&n,&m);
for(register int i=1;i<=n;++i){
scanf("%d",&x);
update(i,x);
}
int cod,a,b;
while(m){
scanf("%d%d%d",&cod,&a,&b);
if(cod == 0)
update(a,-b);
else printf("%d\n",query(b)-query(a-1));
--m;
}
return 0;
}