Pagini recente » Cod sursa (job #1680896) | Cod sursa (job #1628945) | Cod sursa (job #69064) | Cod sursa (job #2380746) | Cod sursa (job #1076969)
#include<fstream>
#include<cmath>
using namespace std;
int v[15001],bb[125];
int main()
{
ifstream f("datorii.in");
ofstream g("datorii.out");
int n,i,j,k,sum,m,l,nrz,op,edd;
f>>n>>m;
l=sqrt(n+1);
nrz=n/l;
if(n%l!=0)++nrz;
for(i=0;i<n;++i)
{
f>>v[i];
bb[i/l]+=v[i];
}
for(;m;--m)
{
f>>op>>i>>j;
if(op==0)
{
v[--i]-=j;
bb[i/l]-=j;
}
else
{
--i;
--j;
sum=0;
if(i==0)edd=0;
else edd=((i-1)/l+1)*l;
for(k=i;k<edd;++k)
sum+=v[k];
k=i/l;
if(i%l!=0) ++k;
edd=j/l;
if((j+1)%l!=0)--edd;
for(;k<=edd;++k) sum+=bb[k];
if((j+1)%l!=0)
for(k=j/l*l;k<=j;++k) sum+=v[k];
g<<sum<<"\n";
}
}
f.close();
g.close();
return 0;
}