Pagini recente » Cod sursa (job #1525395) | Cod sursa (job #1816515) | Cod sursa (job #2217300) | Cod sursa (job #2673159) | Cod sursa (job #360332)
Cod sursa(job #360332)
#include <stdio.h>
#define MAXN 16000
int aib[MAXN],n,q,i,x,y,op;
inline void insert(int node,int val)
{
while (node <= n)
{
aib[node] += val;
node += node & - node;
}
}
inline int query(int node)
{
int sum = 0;
while (node != 0)
{
sum+=aib[node];
node -= node & - node;
}
return sum;
}
inline int interval(int st,int en)
{
return query(en) - query(st-1) ;
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%d%d",&n,&q);
for (i = 1; i<= n; i++)
{
scanf("%d%",&x);
insert(i,x);
}
for (i=0;i<q;i++)
{
scanf("%d%d%d",&op,&x,&y);
switch (op)
{
case 0:
insert(x,-y);
break;
case 1:
printf("%d\n",interval(x,y));
break;
}
}
return 0;
}