Pagini recente » Cod sursa (job #2381886) | Cod sursa (job #2203715) | Cod sursa (job #2384081) | Cod sursa (job #2388440) | Cod sursa (job #2461919)
#include <bits/stdc++.h>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
const int NMAX = 15000;
int AIB[NMAX+1],
N, M;
void update(int p, int v) {
while(p <= N) {
AIB[p] += v;
p += p & (-p);
}
}
int query(int p) {
int s = 0;
while(p > 0) {
s += AIB[p];
p -= p & (-p);
}
return s;
}
int main()
{
in >> N >> M;
int x, y, z;
for(int i = 1; i <= N; i++) {
in >> x;
update(i, x);
}
for(int i = 1; i <= M; i++) {
in >> x >> y >> z;
if(x == 0) update(y, -z);
else out << query(z) - query(y-1) << '\n';
}
return 0;
}