Pagini recente » Cod sursa (job #1332825) | Cod sursa (job #6805) | Cod sursa (job #1128353) | Cod sursa (job #2352276) | Cod sursa (job #1735232)
#include<stdio.h>
#include<math.h>
short n,r,i,t,v,c,a[15001];
int m,b[123],s;
main(){freopen("datorii.in","r",stdin);freopen("datorii.out","w",stdout);
scanf("%d %d",&n,&m);
r=sqrt(n);
for(i=1;i<=n;i++)scanf("%d",a+i),b[i/r]+=a[i];
for(;m--;){
scanf("%d %d %d",&c,&t,&v);
if(c){
s=0;
if(v/r-t/r<=1){ for(;t<=v;t++)s+=a[t];}
else{
for(i=t/r+1;i<=v/r-1;i++)s+=b[i];
for(i=t;i<(t/r+1)*r;i++)s+=a[i];
for(i=v/r*r;i<=v;i++)s+=a[i];}
printf("%d\n",s);
}
else {a[t]-=v,b[t/r]-=v;}
}
}