Pagini recente » Cod sursa (job #1604703) | Cod sursa (job #783274) | Cod sursa (job #1811730) | Cod sursa (job #325415) | Cod sursa (job #411408)
Cod sursa(job #411408)
#include<stdio.h>
const char in[]="datorii.in", out[]="datorii.out";
int n, m, v[1<<14] ;
/*int k(int x)
{int y=1, z=1;
while(x)
{if(x%2)break;
++z;
x>>=1;}
return z;} */
void upd(int x, int val)
{
for(;x<=n;x+= x&-x)
v[x]+=val;
}
int qr(int x)
{
int sol=0;
for(;x>0;x-=x&-x)
sol+=v[x];
return sol;
}
int main()
{int p, q, op;
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%d%d", &n, &m);
for(int i=1;i<=n;++i)
scanf("%d", &p), upd(i, p);
for(;m--;)
{
scanf("%d%d%d", &op, &p, &q);
if(!op)upd(p, -q);
else printf("%d\n", qr(q)-qr(p-1));
}
return 0;
}