Pagini recente » Cod sursa (job #935781) | Cod sursa (job #601719)
Cod sursa(job #601719)
#include <stdio.h>
const int maxn=15001;
int i,N,M,cod,a,b,Arb[maxn];
void update(int poz, int val)
{
while(poz<=N)
{
Arb[poz]+=val;
poz+=(poz & (-poz));
}
}
int suma(int poz)
{
int S=0;
while(poz)
{
S+=Arb[poz];
poz-=(poz & (-poz));
}
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++)
{
int x;
scanf("%d",&x);
update(i,x);
}
for(i=1;i<=M;i++)
{
scanf("%d %d %d",&cod,&a,&b);
if(cod==0)
{
update(a,-b);
}
else // cod == 1
{
printf("%d\n",suma(b)-suma(a-1));
}
}
}