Pagini recente » Cod sursa (job #318334) | Cod sursa (job #802526) | Cod sursa (job #217583) | Cod sursa (job #2832385) | Cod sursa (job #3279433)
#include <bits/stdc++.h>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,i,x,q,qq,t,st,dr,stt,drr,k,poz,b[100002],a[100001];
int main()
{
in>>n>>qq;
q=int(sqrt(n));
for(int i=1; i<=n; i++)
{
in>>a[i];
k=i/q+1;
if(i%q==0)
k--;
b[k]+=a[i];
}
for(int i=1; i<=qq; i++)
{
in>>t;
if(t==0)
{
in>>poz>>x;
a[poz]-=x;
k=i/q+1;
if(i%q==0)
k--;
b[k]-=x;
}
else
{
in>>st>>dr;
k=st/q+1;
if(st%q==0)
k--;
stt=k;
k=dr/q+1;
if(dr%q==0)
k--;
drr=k;
int sum=0;
for(int j=stt;j<=drr;j++)
sum+=b[j];
for(int j=st;j<(stt-1)*q;j++)
sum+=a[j];
for(int j=(drr+1)*q-1;j<=dr;j++)
sum+=a[i];
out<<sum<<'\n';
}
}
return 0;
}