Pagini recente » Cod sursa (job #2317038) | Cod sursa (job #489133) | Cod sursa (job #2480026) | Cod sursa (job #2498596) | Cod sursa (job #1667923)
#include <fstream>
#define zeros(x) ( (x ^ (x - 1)) & x )
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n,m,aib[150005];
void update(int x, int k){
for(;x<=n;x+=zeros(x))
aib[x]+=k;
}
int query(int x){
int s=0;
for(;x>0;x-=zeros(x))
s+=aib[x];
return s;
}
int main()
{
int x,y,t;
fin>>n>>m;
for(int i=1;i<=n;i++){
fin>>x;
update(i,x);
}
for(int i=1;i<=m;i++){
fin>>t>>x>>y;
if(t)
fout<<query(y)-query(x-1)<<'\n';
else
update(x,-y);
}
return 0;
}