Pagini recente » Cod sursa (job #2134871) | Cod sursa (job #1357314) | Cod sursa (job #1911827) | Cod sursa (job #1470886) | Cod sursa (job #1836065)
#include <cstdio>
#define NMax 15000
int aib[NMax+1];
int N,M;
void Update(int p, int x)
{
while(p <= N)
{
aib[p] += x;
p = p + ( p & (-p) );
}
}
int Query(int p)
{
int res=0;
while(p > 0)
{
res += aib[p];
p = p - ( p & (-p) );
}
return res;
}
int main(){
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
int i,j,cod,x,y;
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",&cod,&x,&y);
if(cod==0) Update(x,-y);
else printf("%d\n", Query(y) - Query(x-1) );
}
return 0;
}