Pagini recente » Cod sursa (job #2178387) | Cod sursa (job #388208) | Cod sursa (job #85705) | Cod sursa (job #842775) | Cod sursa (job #1180038)
#include <cstdio>
#define ub(x) (x&(-x))
#define NMAX 15001
using namespace std;
int A[NMAX];
int i,N,M,test,x,y;
void add(int x,int val)
{
int i=0;
for(i=x;i<=N;i+=ub(i)) A[i]+=val;
}
int Sum(int x)
{
int i=0,S=0;
for (i=x;i>=1;i-=ub(i)) S+=A[i];
return S;
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%d%d",&N,&M);
for (i=1;i<=N;++i)
{
scanf("%d",&x);
add(i,x);
}
for (i=1;i<=M;++i)
{
scanf("%d%d%d",&test,&x,&y);
switch(test)
{
case 0 : add(x,-y);
break;
case 1 : printf("%d\n",Sum(y)-Sum(x-1));
break;
}
}
return 0;
}