Pagini recente » Cod sursa (job #710889) | Cod sursa (job #1176682) | Cod sursa (job #887644) | Cod sursa (job #238202) | Cod sursa (job #429453)
Cod sursa(job #429453)
#include <stdio.h>
FILE *f,*s;
int m,n,p,a,b,c,i,j,v[15010];
int main()
{
f=fopen("datorii.in","r");
s=fopen("datorii.out","w");
fscanf(f,"%d %d",&n,&m);
for(i=1;i<=n;i++)
{
fscanf(f,"%d",&p);
for(j=i;j<=n;j+=((j^(j-1))&j))
v[j]+=p;
}
for(i=1;i<=m;i++)
{
fscanf(f,"%d %d %d",&a,&b,&c);
if(a==0)
{
for(j=b;j<=n;j+=((j^(j-1))&j))
v[j]-=c;
}
else
{
int k=0;
for(j=c;j>0;j-=((j^(j-1))&j))
k+=v[j];
for(j=b-1;j>0;j-=((j^(j-1))&j))
k-=v[j];
fprintf(s,"%d\n",k);
}
}
fclose(s);
return 0;
}