Pagini recente » Cod sursa (job #3167998) | Cod sursa (job #2523188) | Cod sursa (job #2646391) | Cod sursa (job #2958810) | Cod sursa (job #1248168)
#include <iostream>
using namespace std;
int a[15005],n,m;
void add(int i, int x){
for(; i <= n; i += (i & -i)){
a[i] += x;
}
}
void update(int i, int x){
for(; i <= n; i += (i & -i)){
a[i] -= x;
}
}
int query(int i){
int sum = 0;
for(; i > 0; i -= (i & -i))
sum += a[i];
return sum;
}
void query(int s, int t){
cout << query(t) - query(s - 1) << '\n';
}
int main(){
freopen("datorii.in", "r", stdin);
freopen("datorii.out", "w", stdout);
cin >> n >> m;
for(int i = 1; i <= n; i++){
int v;
cin >> v;
add(i,v);
}
for(int i = 0; i < m; i++){
int t,a,b;
cin >> t >> a >> b;
if(t == 0)
update(a,b);
if(t == 1)
query(a,b);
}
return 0;
}