Pagini recente » Cod sursa (job #1219888) | Cod sursa (job #561799) | Cod sursa (job #2106265) | Cod sursa (job #2788809) | Cod sursa (job #2716263)
#include <fstream>
#define f in
#define g out
using namespace std;
ifstream in ( "datorii.in" );
ofstream out( "datorii.out" );
int n, m, i, j, x, y, op, v[20000];
int lsb ( int x ){
return x&-x;
}
void update ( int i, int x ){
for ( ; i <= n; i += lsb(i) )
v[i] += x;
}
int query ( int i ){
int sol = 0;
for ( ; i >= 1; i -= lsb(i) )
sol += v[i];
return sol;
}
int main() {
f>>n>>m;
for ( i=1; i <= n; i++ ){
f>>x;
update ( i, x );
}
for ( ; m--; ){
f>>op>>x>>y;
if ( !op )
update ( x, -y );
else g<<query(y)-query(x-1)<<"\n";
}
return 0;
}