Pagini recente » Cod sursa (job #1894097) | Cod sursa (job #146256) | Cod sursa (job #62811) | Cod sursa (job #1347117) | Cod sursa (job #2766212)
#include <bits/stdc++.h>
#define int long long
using namespace std;
ifstream fin ("datorii.in");
ofstream fout("datorii.out");
const int dim=15009;
int n,m,a[dim];
int aib[dim];
int lsb(int x){
return x&(-x);
}
void Update(int pos,int val){
for(int i=pos;i<=n;i+=lsb(i)){
aib[i]+=val;
}
}
int Query(int pos){
int sum=0;
for(int i=pos;i>=1;i-=lsb(i)){
sum+=aib[i];
}
return sum;
}
int suma(int st,int dr){
return Query(dr)-Query(st-1);
}
signed main(){
fin>>n>>m;
for(int i=1;i<=n;i++){
fin>>a[i];
Update(i,a[i]);
}
for(int i=1;i<=n;i++){
int c;
fin>>c;
if(c==0){
int pos,val;
fin>>pos>>val;
Update(pos,-val);
}
if(c==1){
int st,dr;
fin>>st>>dr;
fout<<suma(st,dr)<<'\n';
}
}
}