Pagini recente » Cod sursa (job #1681255) | Cod sursa (job #2521249) | Cod sursa (job #26190) | Cod sursa (job #2364352) | Cod sursa (job #381789)
Cod sursa(job #381789)
#include<fstream.h>
int arb[15005],n,m;
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;
ifstream q("datorii.in");
ofstream w("datorii.out");
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;}