Pagini recente » Statistici George Andrei Iarca (GeorgeAndrei) | Monitorul de evaluare | Rating Alex Prg (APrg) | Statistici Tanasie Calin (CalinTanasie) | Cod sursa (job #643208)
Cod sursa(job #643208)
#include<cstdio>
#define N 15001
int n,x,y,z,i,a[N],c[N],m,s,t;
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",&a[i]);
a[i]+=a[i-1],j=i-(i&(-i)),c[i]=a[i]-a[j];}
while(m--)
{scanf("%d%d%d",&x,&y,&z);
if(!x)
while(y<=n)
c[y]-=z,y+=(y&(-y));
else
{s=t=0;
while(z)
s+=c[z],z-=(z&(-z));
y--;
while(y)
t+=c[y],y-=(y&(-y));
printf("%d\n",s-t);}}
return 0;}