Pagini recente » Cod sursa (job #171553) | Cod sursa (job #786600) | Cod sursa (job #1520187) | Cod sursa (job #554268) | Cod sursa (job #484468)
Cod sursa(job #484468)
#include<fstream.h>
const int NMAX=100005;
int n,m,c[NMAX],a,b,r,x;
int poz(int x)
{return (x&(x-1))^x;}
int suma(int k)
{int su=0;
for(;k>=1;k-=poz(k))
su+=c[k];
return su;
}
void update(int k,int x)
{for(;k<=n;k+=poz(k))
c[k]+=x;
}
int main()
{ifstream fin("datorii.in");
ofstream fout("datorii.out");
fin>>n>>m;
int i;
for(i=1;i<=n;++i)
{fin>>x;update(i,x);}
for(i=1;i<=m;++i)
{fin>>r>>a>>b;
if(r==0)
update(a,-b);
else
fout<<suma(b)-suma(a-1)<<'\n';
}
fin.close();
fout.close();
return 0;
}