Pagini recente » Cod sursa (job #1975392) | Cod sursa (job #640409) | Cod sursa (job #1804929) | Cod sursa (job #705493) | Cod sursa (job #138513)
Cod sursa(job #138513)
//AIB
#include <stdio.h>
#define nmax 16000
int tree[nmax],n,m;
int read(int idx)
{
int sum = 0;
while (idx)
{
sum += tree[idx];
idx -= (idx & - idx);
}
return sum;
}
void update(int idx , int val)
{
while (idx<=n)
{
tree[idx] += val;
idx += (idx & -idx);
}
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
int i,j,i1,i2;
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)
scanf("%d",&j),update(i,j);
for(i=1;i<=m;i++)
{
scanf("%d %d %d",&j,&i1,&i2);
if (j==0)
update(i1,-i2);
else
printf("%d\n",read(i2)-read(i1-1));
}
return 0;
}