Pagini recente » Cod sursa (job #381858) | Cod sursa (job #3195871) | Cod sursa (job #1669894) | Cod sursa (job #1178751) | Cod sursa (job #129192)
Cod sursa(job #129192)
#include <stdio.h>
#define nmax 15111
int s[nmax],n,m;
void Add(int i,int x)
{
for(;i<=n;i=(i|(i-1))+1)
s[i]+=x;
}
int query(int i)
{
int aux=0;
for(;i;i&=i-1)
aux+=s[i];
return aux;
}
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),Add(i,j);
for(i=1;i<=m;i++)
{
scanf("%d %d %d",&j,&i1,&i2);
if (j==0)
Add(i1,-i2);
else
printf("%d\n",query(i2)-query(i1-1));
}
return 0;
}