Pagini recente » Cod sursa (job #1350619) | Cod sursa (job #904355) | Cod sursa (job #1809254) | Cod sursa (job #547660) | Cod sursa (job #3279436)
#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;
stt=k;
k=dr/q+1;
drr=k-1;
//cout<<stt<<" "<<drr<<'\n';
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;
}