Pagini recente » Cod sursa (job #1734748) | Cod sursa (job #2299890) | Cod sursa (job #2235952) | Cod sursa (job #2193060) | Cod sursa (job #3193007)
#include <iostream>
#include <fstream>
#define NMAX 15002
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
int n, m, tree[NMAX];
void add(int poz, int val)
{
for (int i = poz; i <= n; i += i&(-i))
tree[i] += val;
}
int sum(int poz)
{
int rez = 0;
for (int i = poz; i != 0; i -= i&(-i))
rez += tree[i];
return rez;
}
int main()
{
fin >> n >> m;
for (int i = 1; i <= n; i++)
{
int x;
fin >> x;
for (int j = i; j <= n; j += j&(-j))
tree[j] += x;
}
for (int i = 1; i <= m; i++)
{
int q, a, b;
fin >> q >> a >> b;
if (q == 0)
add(a, -b);
if (q == 1)
fout << sum(b) - sum(a-1) << "\n";
}
return 0;
}