Pagini recente » Cod sursa (job #2225214) | Cod sursa (job #2512359) | Cod sursa (job #1099790) | Cod sursa (job #932141) | Cod sursa (job #1743057)
#include <iostream>
#include <fstream>
using namespace std;
unsigned int BIT[15002], n, m;
int op, a, b;
void update(int val, unsigned int pos)
{
for(; pos <=n; pos+=pos&-pos)
BIT[pos]+=val;
}
unsigned int sum(unsigned int x)
{
unsigned int sum;
for(; x; x-=x&-x)
sum+=BIT[x];
return sum;
}
int main ()
{
ifstream input ("datorii.in");
ofstream output ("datorii.out");
input >> n>>m;
for (int i=1;i<=n;++i)
{
input>>a;
update(a, i);
}
for(int i=0;i<m;++i)
{
input>>op>>a>>b;
if(!op)
{
update(-b, a);
}
else
{
output<<sum(b)-sum(a-1)<<"\n";
}
}
input.close();
output.close();
return 0;
}