Pagini recente » Cod sursa (job #1422134) | Cod sursa (job #633301) | Cod sursa (job #2709294) | Cod sursa (job #1807301) | Cod sursa (job #59421)
Cod sursa(job #59421)
#include<stdio.h>
int c[16000];
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
int i, n, m, poz, p, q, nr, s1, s2, val;
scanf("%d%d",&n,&m);
for (i=1;i<=n;i++){
scanf("%d",&val);
poz=i;
while (poz<=n){
c[poz]+=val;
poz+=(poz^(poz-1))&poz;
}
}
for (i=1;i<=m;i++){
scanf("%d%d%d",&nr,&p,&q);
if (nr==0)
while (p<=n){
c[p]-=q;
p+=(p^(p-1))&p;
}
else{
s1=0;
while (q){
s1+=c[q];
q-=(q^(q-1))&q;
}
s2=0;
p--;
while (p){
s2+=c[p];
p-=(p^(p-1))&p;
}
printf("%d\n",s1-s2);
}
}
fclose(stdin);
fclose(stdout);
return 0;
}