Pagini recente » Cod sursa (job #1557430) | Cod sursa (job #3151743) | Cod sursa (job #566464) | Cod sursa (job #2642307) | Cod sursa (job #3244948)
#include <bits/stdc++.h>
#define int long long
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 suma(int x){
int s=0;
for(int i=x;i>=1;i-=lsb(i)){
s+=aib[i];
}
return s;
}
signed 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<<suma(y)-suma(x-1)<<'\n';
}
}
return 0;
}