Pagini recente » Cod sursa (job #195679) | Cod sursa (job #743805) | Cod sursa (job #1260459) | Cod sursa (job #1009393) | Cod sursa (job #1423670)
#include <fstream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n,v[100005];
void update1(int p,int x){
for(;p<=n;p+=(p&-p)){
v[p]+=x;
}
}
void update(int p,int x){
for(;p<=n;p+=(p&-p)){
v[p]-=x;
}
}
int query(int p){
int s=0;
for(;p!=0;p-=(p&-p)){
s+=v[p];
}
return s;
}
int i,val,poz,a,b,p,u,k,op,mid;
int main(){
fin>>n>>k;
for(i=1;i<=n;i++){
fin>>val;
update1(i,val);
}
for(;k;k--){
fin>>op;
if(op==0){
fin>>poz>>val;
update(poz,val);
}else{
fin>>a>>b;
fout<<query(b)-query(a-1)<<"\n";
}
}
return 0;
}