Pagini recente » Cod sursa (job #2529590) | Cod sursa (job #2108735) | Cod sursa (job #1388437) | Cod sursa (job #1391174) | Cod sursa (job #2211223)
#include <bits/stdc++.h>
using namespace std;
inline int ub(int x) { return x & (-x); }
ifstream f("datorii.in");
ofstream g("datorii.out");
int N, M, x, cer, arg1, arg2, aib[15003];
void add(int pos, int val);
int query(int pos);
int main() {
f >> N >> M;
for(int i = 1; i <= N; i++) {
f >> x;
add(i, x);
}
for(int i = 1; i <= M; i++) {
f >> cer >> arg1 >> arg2;
if(cer == 0) {
add(arg1, -arg2);
}
else {
g << query(arg2) - query(arg1 - 1) << "\n";
}
}
return 0;
}
void add(int pos, int val) {
for(int i = pos; i <= N; i += ub(i))
aib[i] += val;
}
int query(int pos) {
int sum = 0;
for(int i = pos; i >= 1; i -= ub(i))
sum += aib[i];
return sum;
}