Pagini recente » Cod sursa (job #2375790) | Cod sursa (job #2587392) | Cod sursa (job #522736) | Cod sursa (job #2467653) | Cod sursa (job #2429382)
#include<iostream>
#include<fstream>
#define zero(x) ((x^(x-1))&x)
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n,m,aib[15000];
int inter(int x){
int i=x,rez=0;
for(i=x;i>0;i-=zero(i))
{
rez+=aib[i];
}
return rez;
}
void achit(int x,int debt){
int i;
for(i=x;i<=n;i+=zero(i))
aib[i]+=debt;
}
int main(){
int i,tip,x,y,debt;
fin>>n>>m;
for(i=1;i<=n;++i)
{
fin>>debt;
achit(i,debt);
}
while(fin>>tip>>x>>y){
if(tip==1)
fout<<inter(y)-inter(x-1)<<'\n';
if(tip==0)
achit(x,-y);
}
return 0;
}