Pagini recente » Cod sursa (job #2274458) | Cod sursa (job #552736) | Cod sursa (job #2899436) | Cod sursa (job #2288907) | Cod sursa (job #2672824)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 15000;
int n, m, x, y, bit[NMAX + 1];
bool op;
inline void updBIT(int POZ, const int VAL) {
for(; POZ <= n; POZ += POZ & -POZ)
bit[POZ] += VAL;
}
inline int queryBIT(int POZ) {
int TORET = 0;
for(; POZ; POZ -= POZ & -POZ)
TORET += bit[POZ];
return TORET;
}
int main()
{
freopen("datorii.in", "r", stdin);
freopen("datorii.out", "w", stdout);
scanf("%d%d", &n, &m);
for(int i = 1; i <= n; ++i)
scanf("%d", &x),
updBIT(i, x);
while(m--) {
scanf("%d%d%d", &op, &x, &y);
if(!op) updBIT(x, -y);
else printf("%d\n", queryBIT(y) - queryBIT(x - 1));
}
return 0;
}