Pagini recente » Cod sursa (job #503758) | Cod sursa (job #503757) | Cod sursa (job #357361) | Cod sursa (job #742792) | Cod sursa (job #3309583)
#include <bits/stdc++.h>
using namespace std;
int bit[15005],n,m;
int query(int pos){
int res=0;
while (pos>0){
res+=bit[pos];
pos&=(pos-1);
}
return res;
}
void update(int pos, int val){
while (pos<=n){
bit[pos]+=val;
pos+=pos&-pos;
}
}
int main()
{
freopen("datorii.in", "r", stdin);
freopen("datorii.out", "w", stdout);
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin>>n>>m;
for (int i=1;i<=n;i++){
int a;cin>>a;
update(i,a);
}
while (m--){
int op,a,b;cin>>op>>a>>b;
if (op==0){
update(a,-b);
}
else if (op==1){
cout<<query(b)-query(a-1)<<'\n';
}
}
return 0;
}