Pagini recente » Cod sursa (job #790231) | Cod sursa (job #1308396) | Cod sursa (job #1589298) | Cod sursa (job #268988) | Cod sursa (job #60194)
Cod sursa(job #60194)
#include<stdio.h>
int s[25],sum[25];
int main(){
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
int n,m,i,i1,aux,t,v,suma;
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++){
scanf("%d",&aux);
sum[i]=sum[i-1]+aux;
i1=(i^(i-1))&i;
s[i]=sum[i]-sum[i-i1];
}
for(i=0;i<m;i++){
scanf("%d %d %d",&aux,&t,&v);
if(aux==0){
i1=t;
while(i1<=n){
s[i1]-=v;
i1+=(i1^(i1-1))&i1;
}
}
else{
i1=v;
suma=0;
while(i1){
suma+=s[i1];
i1-=(i1^(i1-1))&i1;
}
i1=t-1;
while(i1){
suma-=s[i1];
i1-=(i1^(i1-1))&i1;
}
printf("%d\n",suma);
}
}
return 0;
}