Pagini recente » Cod sursa (job #1828618) | Cod sursa (job #245093) | Cod sursa (job #52040) | Cod sursa (job #946875) | Cod sursa (job #2287019)
#include <bits/stdc++.h>
using namespace std;
int n, t[1000010], p;
int query(int k)
{
int rez = 0;
for (; k > 0; k -=(k & -k))
rez += t[k];
return rez;
}
void update(int k, int x)
{
for (; k <= n; k +=(k & -k))
t[k] += x;
}
int main()
{
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int m;
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
int x;
cin >> x;
update(i, x);
}
for (int i = 1; i <= m; i++)
{
int k, x, y;
cin >> k >> x >> y;
if (k == 0)
update(x, 0 - y);
else
cout << query(y) - query(x - 1) << '\n';
}
return 0;
}