Pagini recente » Cod sursa (job #2253809) | Cod sursa (job #404494) | Cod sursa (job #1539439) | Cod sursa (job #624278) | Cod sursa (job #2327435)
#include <iostream>
#include <fstream>
#define p2(x) (x & -x)
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
const int NMAX = 15005;
int n;
int v[NMAX];
void Scad(int poz,int x)
{
for(int i=poz;i<=n;i+=p2(i)) v[i]-=x;
}
int Suma(int poz)
{
int sum=0;
for(int i=poz;i>=1;i-=p2(i)) sum+=v[i];
return sum;
}
int main()
{
int m;
fin >> n >> m;
int x;
for(int i=1;i<=n;i++)
{
fin >> x;
Scad(i,-x);
}
int tip,a,b;
for(int i=1;i<=m;i++)
{
fin >> tip >> a >> b;
if(tip==0)
{
Scad(a,b);
}
else if(tip==1)
{
fout << Suma(b) - Suma(a-1) << '\n';
}
}
return 0;
}