Pagini recente » Cod sursa (job #722878) | Cod sursa (job #1608801) | Cod sursa (job #865325) | Cod sursa (job #2980118) | Cod sursa (job #2290219)
#include <bits/stdc++.h>
using namespace std;
int a[10000],t[10000],n;
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(){
int q; fin>>n>>q;
for(int i=1;i<=n;i++){
fin>>a[i];
update(i, a[i]);
}
for(int i=1;i<=q;i++){
int type,x,y;
fin>>type>>x>>y;
if(type==0){update(x,-y);
a[x]-=y;
} else { fout<<query(y)-query(x-1)<<'\n';
}
}
}