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