Pagini recente » Cod sursa (job #2188918) | Cod sursa (job #834007) | Cod sursa (job #703930) | Cod sursa (job #2394874) | Cod sursa (job #1517003)
#include <iostream>
#include <fstream>
using namespace std;
#define zeros(x) (x&-x)
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int AIB[15001],n,m;
void add(int poz, int val)
{
int i;
for(i=poz;i<=n;i+=zeros(i))
AIB[i]+=val;
}
int sum(int poz)
{
int i,s=0;
for(i=poz;i>0;i-=zeros(i))
s+=AIB[i];
return s;
}
int main()
{
fin>>n>>m;
int x;
for(int i=1;i<=n;i++)fin>>x,add(i,x);
for(int i=1;i<=m;i++)
{
fin>>x;
int a,b;
fin>>a>>b;
if(!x)add(a,-b);
else fout<<sum(b)-sum(a-1)<<'\n';
}
return 0;
}