Pagini recente » Cod sursa (job #1162964) | Cod sursa (job #2910044) | Cod sursa (job #43714) | Cod sursa (job #1849548) | Cod sursa (job #584700)
Cod sursa(job #584700)
#include<fstream>
using namespace std;
int i,j,n,m,q,p,x,c[15001],nr0,s1,s2,a[15001];
int main()
{
FILE *f=fopen("datorii.in","r");
FILE *g=fopen("datorii.out","w");
fscanf(f,"%d%d",&n,&m);
c[0]=0;
for(i=1;i<=n;i++)
{
fscanf(f,"%d",&a[i]);
a[i]+=a[i-1];
c[i]=a[i]-a[(i-(i&(-i)))];
}
while(m--)
{
fscanf(f,"%d%d%d",&x,&q,&p);
if(x==0)
{
while(q<=n)
{
c[q]-=p;
q+=(q&(-q));
}
}
else
if(x==1)
{
s1=s2=0;
nr0=0;
while(p>0)
{
s1+=c[p];
p-=(p&(-p));
}
q-=1;
while(q>0)
{
s2+=c[q];
q-=(q&(-q));
}
fprintf(g,"%d\n",s1-s2);
}
}
return 0;
}