Pagini recente » Cod sursa (job #3215467) | Cod sursa (job #788807) | Cod sursa (job #2115148) | Cod sursa (job #3943) | Cod sursa (job #964547)
Cod sursa(job #964547)
#include <cstdio>
const int DMAX = 100003;
int N, A[DMAX], a, b, p = 1;
void update_aib (int i) {
while (i <= N)
A[i] += p * b,
i += i & (-i);
}
int subseq_1n (int i) {
int s = 0;
while (i)
s += A[i],
i -= i & (-i);
return s;
}
int main () {
freopen ("datorii.in", "r", stdin);
freopen ("datorii.out", "w", stdout);
int M, i;
scanf ("%d%d", &N, &M);
for (i = 1; i <= N; ++i)
scanf ("%d", &b), update_aib (i);
p = -1;
while (M--) {
scanf ("%d%d%d", &i, &a, &b);
if (i)
printf ("%d\n", subseq_1n(b) - subseq_1n(a - 1));
else
update_aib (a);
}
}