Pagini recente » Cod sursa (job #470654) | Cod sursa (job #1203137) | Cod sursa (job #816354) | Cod sursa (job #1872177) | Cod sursa (job #2773259)
#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()
{
f >> n >> m;
int x;
for ( int i = 1 ; i <= n ; i++ ){
f>>x;
add(i, x);
}
int q_type, a, b;
for ( int i = 0 ; i < m ; i++ ){
f >> q_type >> a >> b;
if ( q_type == 0 )
add(a, -b);
else
g << sum(b) - sum(a-1) << '\n';
}
return 0;
}