Pagini recente » Cod sursa (job #1550015) | Cod sursa (job #1318274) | Cod sursa (job #2765199) | Cod sursa (job #2724079) | Cod sursa (job #1289722)
#include <stdio.h>
#define NMax 15010
#define zeros(x) (x & ( x - 1 ) ^ x)
const char IN[] = "datorii.in", OUT[] = "datorii.out";
int N, M;
int A[NMax], arb[NMax];
void update( int x, int val ) {
for ( ; x <= N; x += zeros(x) )
arb[x] += val;
}
int query( int x ) {
int ret = 0;
for (; x > 0; x -= zeros(x))
ret += arb[x];
return ret;
}
int main() {
freopen(IN, "r", stdin);
freopen(OUT, "w", stdout);
scanf("%d%d", &N, &M);
for ( int i = 1; i <= N; ++ i ) {
int val;
scanf("%d", &val);
update(i, val);
}
for ( int i = 1; i <= N; ++ i ) {
int t, x, y;
scanf("%d%d%d", &t, &x, &y);
if ( t == 0 )
update(x, -y);
else
printf("%d\n", query(y) - query(x - 1));
}
return 0;
}