Pagini recente » Cod sursa (job #936098) | Cod sursa (job #860589) | Cod sursa (job #1788368) | Cod sursa (job #1167438) | Cod sursa (job #1258338)
#include<cstdio>
int n,m,aib[15005];
#define p(x) ((x)&(-x))
inline void update(int x,int val)
{
int i;
for(i=x;i<=n;i=i+p(i))
aib[i]=aib[i]+val;
}
int query(int x)
{
int ans=0;
for(;x;x=x-p(x))
ans=ans+aib[x];
return ans;
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
int x,y,care,i;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
update(i,x);
}
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&care,&x,&y);
if (care==0)
update(x,-y);
else
printf("%d\n",query(y)-query(x-1));
}
return 0;
}