Pagini recente » Cod sursa (job #1735309) | Cod sursa (job #651886) | Cod sursa (job #581327) | Cod sursa (job #2269522) | Cod sursa (job #381795)
Cod sursa(job #381795)
#include<fstream>
using namespace std;
int arb[15005],n,m;
ifstream q("datorii.in");
ofstream w("datorii.out");
void plus(int x, int v)
{for(x=x;x<=n;x=x+(x^(x-1))&x)
arb[x]=arb[x]+v;}
int qu(int x)
{int s=0;
for(;x;x=x=x-(x^(x-1))&x)
s=s+arb[x];
return s;
}
int main()
{int i,val,op,a,b;
q>>n>>m;
for(i=1;i<=n;i++)
{q>>val;
plus(i,val);}
for(i=1;i<=m;i++)
{q>>op;
if(op==0)
{q>>a>>b;
plus(a,-b);}
if(op==1)
{q>>a>>b;
w<<qu(b)-qu(a-1)<<'\n';}}
return 0;}