Pagini recente » Cod sursa (job #3215438) | Cod sursa (job #1268430) | Cod sursa (job #1128754) | Cod sursa (job #1428699) | Cod sursa (job #2638874)
#include <fstream>
#define zeros( x ) ( (x ^ (x - 1)) & x )
using namespace std;
int aib[ 15005 ];
int n;
void pune( int x, int cat ){
for( int i = x; i <= n; i += zeros( i ) )
aib[ i ] += cat;
}
int com( int x ){
int rez = 0;
for( int i = x; i > 0; i -= zeros( i ) )
rez += aib[ i ];
return rez;
}
int main()
{
int m, i, nr, x, y, op;
ifstream cin( "datorii.in" );
cin >> n >> m;
for( i = 1; i <= n; i++ ){
cin >> nr;
pune( i, nr );
}
ofstream cout( "datorii.out" );
while( m-- ){
cin >> op >> x >> y;
if( op == 0 )
pune( x, -y );
else cout << com( y ) - com( x - 1 ) << '\n';
}
cin.close();
cout.close();
return 0;
}