Pagini recente » Cod sursa (job #2349425) | Cod sursa (job #192965) | Cod sursa (job #795634) | Cod sursa (job #2198286) | Cod sursa (job #2164835)
#include <fstream>
#define p2(x) (x ^ (x-1)) & x
using namespace std;
int n, op, x, cod, a[100001];
void adauga(int poz, int val) {
for (int i = poz; i <= n; i += p2(i))
a[i] += val;
}
int suma(int poz) {
int s = 0;
for (int i = poz; i > 0; i -= p2(i))
s += a[i];
return s;
}
int main () {
int a, b;
ifstream fi("datorii.in");
ofstream fo("datorii.out");
fi >> n >> op;
for (int i = 1; i <= n; i++)
fi >> x, adauga(i, x);
for (int i = 1; i <= op; i++) {
fi >> cod >> a >> b;
if (!cod)
adauga(a, -b);
else
fo << suma(b)-suma(a-1) << '\n';
}
return 0;
}