Pagini recente » Cod sursa (job #2459286) | Cod sursa (job #3233519) | Cod sursa (job #1249657) | Cod sursa (job #600450) | Cod sursa (job #2638922)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int v[1 << 14], n, m, x, st, dr, code, query(int);
void update(int, int);
int main()
{
f >> n >> m;
for (int i = 1; i <= n; i++) {
f >> x;
update(i, x);
}
for (int i = 1; i <= n; i++)
cout << v[i] << ' ';
for (; m; m--)
{
f >> code >> st >> dr;
if (!code)
update(st, -dr);
else
g << query(dr) - query(st - 1) << '\n';
}
return 0;
}
void update(int poz, int val)
{
for (int i = poz; i <= n; i += i&(-i))
v[i] += val;
}
int query(int poz)
{
int ret = 0;
for (; poz; poz -= poz & (-poz))
ret += v[poz];
return ret;
}