Pagini recente » Cod sursa (job #1888800) | Cod sursa (job #844744) | Cod sursa (job #3348474) | Cod sursa (job #1786970) | Cod sursa (job #3345112)
#include <bits/stdc++.h>
using namespace std;
#define zeros(x)((x^(x-1))&x)
//Doamne Iisuse Hristoase Fiul lui Dumnezeu miluieste-ma pe mine pacatosul
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,m;
vector<int>A(n+1);
vector<int>arb(n+1);
void Add(int x,int val)
{
for(int i=x;i<=n;i+=zeros(i))
arb[i]+=val;
}
int Compute(int x)
{
int sum=0;
for(int i=x;i>0;i-=zeros(i))
sum+=arb[i];
return sum;
}
int main()
{
ios::sync_with_stdio(false);
in.tie(NULL);
in>>n>>m;
A.resize(n+1);
arb.resize(n+1);
for(int i=1;i<=n;++i)
{
in>>A[i];
Add(i,A[i]);
}
while(m--)
{
int cer,x,y;
in>>cer>>x>>y;
if(cer==0)
Add(x,-y);
else
out<<Compute(y)-Compute(x-1)<<'\n';
}
return 0;
}