Pagini recente » Cod sursa (job #2531821) | Cod sursa (job #663209) | Cod sursa (job #2489241) | Cod sursa (job #534379) | Cod sursa (job #1255767)
#include <fstream>
using namespace std;
int aib [15001];
inline int lsb (int x)
{
return x&(x-1)^x;
}
void update (int n, int poz, int val)
{
for( ; poz<=n; poz+=lsb(poz))
aib[poz]+=val;
}
int query (int b)
{
int s=0;
for(; b; b-=lsb(b))
s+=aib[b];
return s;
}
int main()
{
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,m,i,x,op,a,b;
in>>n>>m;
for(i=1;i<=n;i++)
{
in>>x;
update(n,i,x);
}
for(i=1;i<=m;i++)
{
in>>op>>a>>b;
if(!op)
update(n,a,-b);
else out<<query(b)-query(a-1)<<"\n";
}
return 0;
}