Pagini recente » Cod sursa (job #1356850) | Cod sursa (job #211033) | Cod sursa (job #1964038) | Cod sursa (job #52112) | Cod sursa (job #201686)
Cod sursa(job #201686)
#include<cstdio>
long c[15100],n,m,i,op,a,b,s,x;
void modif(long poz,long val,long semn){
for(;poz<=n;poz+=(poz&(-poz)))
c[poz]+=(val*semn);
}
long suma(long dr){
long s=0;
for(;dr>0;dr-=(dr&(-dr)))
s+=c[dr];
return s;
}
int main(){
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%ld%ld",&n,&m);
for(i=1;i<=n;i++){
scanf("%ld",&x);
modif(i,x,1);
}
for(;m>0;m--){
scanf("%ld",&op);
if(op==0){
scanf("%ld%ld",&a,&b);
modif(a,b,-1);
}
else{
scanf("%ld%ld",&a,&b);
s=suma(b)-suma(a-1);
printf("%ld\n",s);
}
}
fclose(stdin);
fclose(stdout);
return 0;
}