Pagini recente » Cod sursa (job #131696) | Cod sursa (job #1784781) | Cod sursa (job #1900907) | Cod sursa (job #2035481) | Cod sursa (job #1036448)
#include<fstream>
#include<algorithm>
#include<cmath>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n,m,v[15001],i,j,k,s,sum[1000]={0},rad,nr=1,a,b,sax,a1,b1;
bool op;
int main()
{
f>>n>>m;
rad=sqrt(n);
for(i=1;i<=n;i++)
{
f>>v[i];
if(i>nr*rad)
nr++;
sum[nr]+=v[i];
}
for(i=1;i<=m;i++)
{
f>>op>>a>>b;
if(op==0)
{
v[a]-=b;
sum[(a-1)/rad+1]-=b;
for(k=1;k<=n;k++)
g<<v[k]<<" ";
g<<'\n';
}
else
{
sax=0;
a1=(a-1)/rad+1;
b1=(b-1)/rad+1;
for(j=(a-1)/rad+1;j<=(b-1)/rad+1;j++)
sax+=sum[j];
for(j=a;(j-1)/rad+1==a1;j--)
sax-=v[j];
for(j=b;(j-1)/rad+1==b1;j++)
sax-=v[j];
for(k=1;k<=n;k++)
g<<v[k]<<" ";
g<<'\n';
g<<sax<<'\n';
}
}
f.close();g.close();
return 0;
}