Cod sursa(job #711088)
#include <fstream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
#define dim 15005
int v[dim], n, m;
int lsb(int x)
{
return x&-x;
}
void update(int poz, int val, int semn)
{
for(;poz<=n;poz+=lsb(poz))
v[poz]+=(val*semn);
}
void read()
{
int i, x;
fin>>n >>m;
for(i=1;i<=n;++i)
{
fin>>x;
update(i,x,1);
}
}
int query(int poz)
{
int sum=0;
for(;poz;poz-=lsb(poz))
sum+=v[poz];
return sum;
}
void solve()
{
int i, tip, x, y;
for(i=1;i<=m;++i)
{
fin>>tip >>x >>y;
if(tip==0)
update(x,y,-1);
else
fout<<query(y)-query(x-1)<<'\n';
}
}
int main()
{
read();
solve();
return 0;
}