Pagini recente » Cod sursa (job #359230) | Cod sursa (job #421031) | Cod sursa (job #856992) | Cod sursa (job #2255674) | Cod sursa (job #2290223)
#include <bits/stdc++.h>
using namespace std;
int a[20000],t[20000],n,q;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int query(int k){
int ret=0;
for(int i=k;i>0;i-=(i&-i)){ret+=t[i];
}
return ret;
}
void update(int k, int x){
for(int i=k;i<=n;i+=(i&-i))
t[i]+=x;
}
int main(){
fin>>n>>q;
for(int i=1;i<=n;i++){
fin>>a[i];
update(i, a[i]);
}
int type,x,y;
for(int i=1;i<=q;i++){
fin>>type>>x>>y;
if(type==0){update(x,-y);
} else { fout<<query(y)-query(x-1)<<'\n';
}
}
}