Pagini recente » Cod sursa (job #890547) | Cod sursa (job #1428156) | Cod sursa (job #1382750) | Cod sursa (job #2413854) | Cod sursa (job #1605333)
#include <iostream>
using namespace std;
int tree[15005];
int n;
void update (int x, int idx) {
while (idx <= n) {
tree[idx] += x;
idx += (idx & -idx);
}
}
int query (int idx) {
int s = 0;
while (idx >= 1) {
s += tree[idx];
idx -= (idx & -idx);
}
return s;
}
int main (void) {
ios_base::sync_with_stdio(false);
freopen("datorii.in", "r", stdin);
freopen("datorii.out", "w", stdout);
int m;
cin >> n >> m;
int temp;
for (int i = 1; i <= n; ++i) {
cin >> temp;
update(temp, i);
}
int a, b, c;
for (int i = 0; i < m; ++i) {
cin >> a >> b >> c;
if (a) {
cout << query(c) - query(b-1) << "\n";
} else {
update(-c, b);
}
}
return 0;
}