Pagini recente » Cod sursa (job #1044083) | Cod sursa (job #932671) | Cod sursa (job #1883281) | Cod sursa (job #1368846) | Cod sursa (job #954852)
Cod sursa(job #954852)
#include<cstdio>
using namespace std;
int n,aib[15010],m,x,a,b,c,val;
int lsb(int x)
{
return x&(-x);
}
void update(int pos,int val)
{
for(int i=pos;i<=n;i+=lsb(i))
aib[i]+=val;
}
int query(int pos)
{
int ans=0;
while(pos)
{
ans+=aib[pos];
pos-=lsb(pos);
}
return ans;
}
int main()
{
int i;
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
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",&a,&b,&c);
if(a==0)
{
update(b,-c);
}
else
{
val=query(c)-query(b-1);
printf("%d\n",val);
}
}
return 0;
}