Pagini recente » Cod sursa (job #1875943) | Cod sursa (job #1343664) | Rating yet useless (colaps) | Cod sursa (job #2938396) | Cod sursa (job #2036110)
#include <bits/stdc++.h>
using namespace std;
int n, m, a[15005];
int A[15005];
inline void update(int i, int x){
for(int j = i; j <= n ; j = j + (j & (-j)))
A[j] += x;
}
inline int query(int i){
int ans = 0;
for(int j = i; j != 0; j = j - (j & (-j)))
ans = ans + A[j];
return ans;
}
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", &a[i]), update(i, a[i]);
int x, y, ok;
for(int i = 1; i <= m ; ++i){
scanf("%d%d%d", &ok, &x, &y);
if(ok == 0) update(x, -y);
else printf("%d\n", query(y) - query(x - 1));
}
return 0;
}