Pagini recente » Cod sursa (job #912966) | Cod sursa (job #2210178) | Cod sursa (job #2917898) | Cod sursa (job #2283753) | Cod sursa (job #3323449)
#include <bits/stdc++.h>
#define NMAX 100005
#define ll long long
std::ifstream f("datorii.in");
std::ofstream g("datorii.out");
using namespace std;
int n, q, ans;
int a[NMAX], aib[NMAX];
void add(int x, int val){
for(int i=x;i<=n;i+=i&-i) aib[i]+=val;
}
ll sum(int x){
ll ans=0;
for(int i=x;i>=1;i-=i&-i) ans+=aib[i];
return ans;
}
void update(){
int x, val;
f >> x >> val;
add(x, -val);
}
void solve(){
int x, y;
f >> x >> y;
g << sum(y)-sum(x-1) << '\n';
}
int main(){
f >> n >> q;
for(int i=1;i<=n;i++) f >> a[i], add(i, a[i]);
for(int i=1;i<=q;i++){
int cer;
f >> cer;
if(cer==0) update();
else if(cer==1) solve();
}
}