Pagini recente » Borderou de evaluare (job #3146084) | Cod sursa (job #2713300) | Cod sursa (job #260615) | Profil bodyionita | Cod sursa (job #1205791)
#include<cstdio>
int a[15005],aib[15005];
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
int n,m,i,j,c,t,v,s;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=1;i<=n;i++)
for(j=i;j<=n;j=j+(j&(-j)))
aib[j]=aib[j]+a[i];
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&c,&t,&v);
if(c==0)
{
for(j=t;j<=n;j=j+(j&(-j)))
aib[j]=aib[j]-v;
}
else
{
s=0;
for(j=v;j>0;j=j-(j&(-j)))
s=s+aib[j];
for(j=t-1;j>0;j=j-(j&(-j)))
s=s-aib[j];
printf("%d\n",s);
}
}
return 0;
}