Pagini recente » Cod sursa (job #705872) | Cod sursa (job #3326593) | Cod sursa (job #69545) | Cod sursa (job #517049) | Cod sursa (job #3340192)
#include <bits/stdc++.h>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int v[15005], aib[15005], n;
void update(int pos, int val){
for(int i=pos;i<=n;i+=(i&-i))
aib[i]+=val;
}
int query(int pos){
int sum=0;
for(int i=pos;i;i-=(i&-i))
sum+=aib[i];
return sum;
}
int main()
{
int q, a, b, t;
in>>n>>q;
for(int i=1;i<=n;i++){
in>>v[i];
update(i, v[i]);
}
while(q--){
in>>t>>a>>b;
if(t==0){
update(a, -b);
}
else{
out<<query(b) - query(a-1)<<" ";
}
}
return 0;
}