Pagini recente » Cod sursa (job #2849456) | Cod sursa (job #2869133) | Cod sursa (job #2884165) | Cod sursa (job #2530071) | Cod sursa (job #2531747)
#include <fstream>
#include <cmath>
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int v[15005],buc[125];
int main()
{
int n,m,dim,type,x,y,bucx,bucy,rasp;
cin>>n>>m;
dim=sqrt(n);
for(int i=0;i<n;++i)
{
cin>>v[i];
buc[i/dim]+=v[i];
}
for(int w=1;w<=m;++w)
{
cin>>type>>x>>y;
if(type==0)
{
--x;
v[x]-=y;
buc[x/dim]-=y;
continue;
}
rasp=0;
--x,--y;
bucx=x/dim;
bucy=y/dim;
if(bucx==bucy)
{
for(int i=x;i<=y;++i)
rasp+=v[i];
cout<<rasp<<'\n';
continue;
}
for(int i=x;i<=bucx*dim+dim-1;++i)
rasp+=v[i];
for(int i=bucy*dim;i<=y;++i)
rasp+=v[i];
for(int i=bucx+1;i<=bucy-1;++i)
rasp+=buc[i];
cout<<rasp<<'\n';
}
return 0;
}