Pagini recente » Cod sursa (job #2984893) | Cod sursa (job #2181257) | Cod sursa (job #74554) | Cod sursa (job #1571004) | Cod sursa (job #1695285)
#include <fstream>
using namespace std;
fstream f,g;
int d[15001],qt,t,v,p,q,n,m,i,j,k,l,o;
int main()
{
f.open("datorii.in",ios_base::in);
g.open("datorii.out",ios_base::out);
f>>n>>m;
for(k=n/100+!!(n%100),i=0;i<k;i++)for(j=1;j<=100;j++)
{
if(i*100+j<=n)f>>l;
else l=0;
d[i*100+j]=l;
if(j!=1)d[i*100+j]+=d[i*100+j-1];
}
for(i=0;i<m;i++)
{
f>>qt;
if(qt==0)
{
f>>t>>v;
if(t%100==1)
{
d[t]-=v;
t++;
}
for(j=t;j%100!=1;j++)d[j]-=v;
}
else
{
f>>p>>q;
if(p/100!=q/100)
{
o=0;
if(p%100!=1)
{
o+=d[(p/100+1)*100]-d[p-1];
p=(p/100+1)*100+1;
}
if(q%100!=0)
{
o+=d[q];
q=q/100*100;
}
for(j=p+99;j<=q;j+=100)o+=d[j];
}
else
{
if(p%100==1)o=d[q];
else o=d[q]-d[p-1];
}
g<<o<<'\n';
}
}
}