Pagini recente » Statistici Nume Ert (Numen) | Istoria paginii runda/info_conquiz | Cod sursa (job #1776976) | Statistici Patrascu Vladut Adrian (VladutzPtr) | Cod sursa (job #118768)
Cod sursa(job #118768)
#include<stdio.h>
#define N 15001
int n,m,a[N];
int bit(int x)
{
return (x&(x-1))^x;
}
void adaug(int ind, int val)
{
int i;
for(i=ind;i<=n;i+=bit(i))
a[i]+=val;
}
int suma(int dr)
{
int i,s=0;
for(i=dr;i>0;i-=bit(i))
s+=a[i];
return s;
}
void read()
{
int i,x;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
adaug(i,x);
}
}
void solve()
{
int i,cod,ind,val,st,dr,s1,s2;
for(i=1;i<=m;i++)
{
scanf("%d",&cod);
if(cod==0)
{
scanf("%d%d",&ind,&val);
val*=-1;
adaug(ind,val);
}
else
{
scanf("%d%d",&st,&dr);
s1=suma(st-1);
s2=suma(dr);
printf("%d\n",s2-s1);
}
}
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
read();
solve();
return 0;
}