Pagini recente » Cod sursa (job #2602875) | Cod sursa (job #3134804) | Cod sursa (job #1375107) | Cod sursa (job #1074126) | Cod sursa (job #420983)
Cod sursa(job #420983)
#include <stdio.h>
long long s[15001],i,p,q,t,n,m,j,k;
FILE *f=fopen("datorii.in","r"),*g=fopen("datorii.out","w");
int main(void)
{
fscanf(f,"%lld%lld",&n,&m);
for (i=1;i<=n;i++)
{
fscanf(f,"%lld",&p);
for (j=i;j<=n;j=j+(j^(j-1)&j))
s[j]+=p;
}
for (i=1;i<=m;i++)
{
fscanf(f,"%lld%lld%lld",&t,&p,&q);
if (t==1)
{
k=0;
for (j=q;j>0;j=j-(j^(j-1)&j))
k=k+s[j];
for (j=p-1;j>0;j=j-(j^(j-1)&j))
k=k-s[j];
fprintf(g,"%d\n",k);
}
else
{
for (j=p;j<=n;j=j+(j^(j-1)&j))
s[j]-=q;
}
}
fclose(g);
return 0;
}