Pagini recente » Cod sursa (job #1791280) | Cod sursa (job #1578620) | Cod sursa (job #2634777) | Cod sursa (job #2865353) | Cod sursa (job #1916045)
#include <fstream>
#include <iostream>
#define zero(x) ((x ^ (x - 1)) & x)
using namespace std;
int n, m, arb[15005], x, y, q;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
void Add(int val, int poz)
{
for(int i = poz; i <= n; i += zero(i))
arb[i] += val;
}
int Query(int poz)
{
int s = 0;
for(int i = poz; i >= 1; i -= zero(i))
s += arb[i];
return s;
}
int main()
{
fin >> n >> m;
for(int i = 1; i <= n; ++i)
{
fin >> x;
Add(x, i);
}
for(int i = 1; i <= m; ++i)
{
fin >> q >> x >> y;
if(!q) Add(-y, x);
else fout << Query(y) - Query(x - 1) << '\n';
}
}