Pagini recente » Cod sursa (job #209276) | Cod sursa (job #1731127) | Cod sursa (job #590721) | Cod sursa (job #2750358) | Cod sursa (job #266861)
Cod sursa(job #266861)
#include<stdio.h>
int v[15010],val;
int n;
long m;
int suma(int t)
{
int s=v[t];
while((t-=(t&(t-1))^t))
s+=v[t];
return s;
}
void add(int x)
{
v[x]+=val;
while((x+=(x&(x-1))^x)<=n)
v[x]+=val;
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%d %ld",&n,&m);
int i;
for(i=1;i<=n;i++){scanf("%d",&val);add(i);}
int a,b,c;
for(;m--;)
{
scanf("%d %d %d",&a,&b,&c);
if(a)
{
printf("%ld\n",suma(c)-suma(b-1));
}
else
{
val=-c;
add(b);
}
}
fclose(stdin);
fclose(stdout);
return 0;
}