Pagini recente » Cod sursa (job #146898) | Cod sursa (job #2566852) | Cod sursa (job #3161440) | Cod sursa (job #2528025) | Cod sursa (job #582979)
Cod sursa(job #582979)
#include<stdio.h>
#define N 15001
int n,x,y,z,i;
long a[N],c[N],j,m,s1,s2;
int main()
{freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
scanf("%d%ld\n",&n,&m);
a[0]=0;
for(i=1;i<=n;i++)
{scanf("%ld",&a[i]);
a[i]+=a[i-1];
j=i-(i&(-i));
c[i]=a[i]-a[j];}
for(j=1;j<=m;j++)
{scanf("%d%d%d\n",&x,&y,&z);
if(x==0)
{while(y<=n)
{c[y]-=z;
y+=(y&(-y));}}
else
{s1=s2=0;
while(z>0)
{s1+=c[z];
z-=(z&(-z));}
y--;
while(y>0)
{s2+=c[y];
y-=(y&(-y));}
printf("%ld\n",s1-s2);}}
fclose(stdin);
fclose(stdout);
return 0;}