Pagini recente » Cod sursa (job #520444) | Cod sursa (job #417435) | Cod sursa (job #1238374) | Cod sursa (job #1842845) | Cod sursa (job #3134119)
#include<stdio.h>
#include <fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,i,x,y,z;
long v[15001],r[15001],j,m,sum1,sum2;
int main()
{
in>>n>>m;
v[0]=0;
for(i=1;i<=n;i++)
{
in >> v[i];
v[i]+=v[i-1];
j=i-(i&(-i));
r[i]=v[i]-v[j];}
for(j=1;j<=m;j++)
{
in>>x>>y>>z;
if(x==0)
{
while(y<=n)
{
r[y]-=z;
y+=(y&(-y));}}
else
{
sum1=sum2=0;
while(z>0)
{
sum1+=r[z];
z-=(z&(-z));}
y--;
while(y>0)
{
sum2+=r[y];
y-=(y&(-y));}
out<<sum1-sum2<< " ";
}
}
return 0;
}