Pagini recente » Cod sursa (job #2332884) | Istoria paginii utilizator/penis_valoare | Cod sursa (job #755785) | Cod sursa (job #845748) | Cod sursa (job #1013028)
#include<cstdio>
#define NMAX 15000+5
using namespace std;
int AIB[NMAX],N,M;
void add(int x,int p)
{
int i;
for(i=p;i<=N;i+=i&(-i)) AIB[i]+=x;
}
int query(int p)
{
int i,s=0;
for(i=p;i;i-=i&(-i)) s+=AIB[i];
return s;
}
int main()
{
int i,a,b,t;
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%d%d",&N,&M);
for(i=1;i<=N;i++)
{
scanf("%d",&a);
add(a,i);
}
for(;M;--M)
{
scanf("%d%d%d",&t,&a,&b);
if(t==0) add(-b,a);
else printf("%d\n",query(b)-query(a-1));
}
return 0;
}