Pagini recente » Cod sursa (job #3262417) | Cod sursa (job #1153272) | Cod sursa (job #1352409) | Cod sursa (job #1059187) | Cod sursa (job #2773258)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("datorii.in");
ofstream g ("datorii.out");
vector<int> fenwick(60005, 0);
int n,m;
int zeroes( int x ){
return x ^ (x-1) & x;
}
void add ( int x, int value ){
for ( int i = x ; i <= n ; i += zeroes(i) )
fenwick[i] += value;
}
int sum ( int x ){
int ans = 0;
for ( int i = x ; i > 0 ; i -= zeroes(i) )
ans += fenwick[i];
return ans;
}
int main()
{
cin >> n >> m;
int x;
for ( int i = 1 ; i <= n ; i++ ){
cin>>x;
add(i, x);
}
int q_type, a, b;
for ( int i = 0 ; i < m ; i++ ){
cin >> q_type >> a >> b;
if ( q_type == 0 )
add(a, -b);
else
cout << sum(b) - sum(a-1) << '\n';
}
return 0;
}