Pagini recente » Cod sursa (job #2124423) | Cod sursa (job #2118695) | Cod sursa (job #1871082) | Cod sursa (job #1847407) | Cod sursa (job #2626011)
#include <fstream>
using namespace std;
ifstream f ( "datorii.in" );
ofstream g ( "datorii.out" );
int n, v[15001];
int Beq(int x)
{
return x & (-x);
}
void update ( int i, int val ){
for (int j = i; j<= n; j +=Beq(i))
v[j] += val;
}
int suma ( int i){
int s = 0;
for (int j = i; j > 0; j -=Beq(i))
s += v[j];
return s;
}
int main()
{ int m, op, x, y, nr;
f >> n >> m;
for (int i = 1; i <= n; ++i ){
f >> nr;
update ( i, nr);
}
for (int i = 0; i < m; i++ ){
f >> op >> x >> y;
if ( op == 0 )
update ( x, - y );
if(op==1)
g << suma ( y ) - suma ( x - 1 ) <<"\n";
}
return 0;
}