Pagini recente » Cod sursa (job #2437285) | Cod sursa (job #2374460) | Cod sursa (job #1996167) | Cod sursa (job #772039) | Cod sursa (job #3205863)
#include <bits/stdc++.h>
using namespace std;
const int dim=15005;
int n,m,aib[dim];
int lsb(int x){
return x&(-x);
}
void Update(int poz, int val){
for(int i=poz;i<=n;i+=lsb(i)){
aib[i]+=val;
}
}
int Query(int poz){
int s=0;
for(int i=poz;i>=1;i-=lsb(i)){
s+=aib[i];
}
return s;
}
int main(){
ifstream f("datorii.in");
ofstream g("datorii.out");
f>>n>>m;
for(int i=1;i<=n;i++){
int x;
f>>x;
Update(i,x);
}
while(m--){
int t,x,y;
f>>t>>x>>y;
if(t==0){
Update(x,-y);
}
else{
g<<Query(y)-Query(x-1)<<'\n';
}
}
return 0;
}