Pagini recente » Cod sursa (job #1005769) | Cod sursa (job #2703634) | Cod sursa (job #384831) | Cod sursa (job #39701) | Cod sursa (job #495311)
Cod sursa(job #495311)
#include <cstdio>
#define lsb(x) x&(-x)
int s[15003];
int main()
{
int n,m,i,a,b;
freopen("datorii.out","w",stdout);
freopen("datorii.in","r",stdin);
scanf("%d %d",&n,&m);
for (i=1;i<=n;++i)
{
scanf("%d",&a);
b=i;
while (b<=n)
s[b]+=a,b+=lsb(b);
}
while (m--)
{
scanf("%d %d %d",&i,&a,&b);
if (i==0)
{while (a<=n)
s[a]-=b,a+=lsb(a);}
else
{
i=0;--a;
while (b>0)
i+=s[b],b-=lsb(b);
while (a>0)
i-=s[a],a-=lsb(a);
printf("%d\n",i);
}
}
return 0;}