Pagini recente » Cod sursa (job #1255974) | Cod sursa (job #2920897) | Cod sursa (job #1773286) | Cod sursa (job #404013) | Cod sursa (job #2193214)
#include <fstream>
#define zeros(x) ( (x ^ (x - 1)) & x )
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n, m, AIB[15001];
void Add(int x, int quantity)
{
int i;
for (i = x; i <= n; i += zeros(i))
AIB[i] += quantity;
}
int Compute(int x)
{
int i, ret = 0;
for (i = x; i > 0; i -= zeros(i))
ret += AIB[i];
return ret;
}
int main()
{
in >>n >>m;
for( int i = 1; i <= n; i++)
{
int x;
in >>x;
Add(i,x);
//cout << Compute(i)<<endl;
}
while( m-- )
{
int q, x, y;
in >>q >>x >>y;
if(q)
out<<Compute(y) - Compute(x-1)<<endl;
else
Add(x, -y);
}
return 0;
}