Pagini recente » Cod sursa (job #1058798) | Cod sursa (job #1035675) | Cod sursa (job #618869) | Cod sursa (job #11248) | Cod sursa (job #3204753)
#include <bits/stdc++.h>
#define MAXN 15000
using namespace std;
int aib[MAXN + 1];
void update ( int p , int val , int n ) {
for ( ; p <= n ; p += ( p & -p ) )
aib[p] += val;
}
int query ( int l , int n ) {
int ans = 0;
for ( ; l > 0 ; l -= ( l & -l ) )
ans += aib[l];
return ans;
}
int main() {
ifstream cin( "datorii.in" );
ofstream cout ( "datorii.out" );
int n , tip , p , l , r , q , i , a;
cin >> n >> q;
for ( i = 1 ; i <= n ; i++ ) {
cin >> a;
update( i , a , n );
}
for ( i = 0 ; i < q ; i++ ) {
cin >> tip >> l >> r;
if ( tip == 0 )
update ( l , -r , n );
else
cout << query( r , n ) - query( l - 1 , n ) << '\n';
}
return 0;
}