Pagini recente » Cod sursa (job #1772321) | Cod sursa (job #1823469) | Cod sursa (job #2201021) | Cod sursa (job #1685560) | Cod sursa (job #2615246)
#include <bits/stdc++.h>
using namespace std;
ifstream r("datorii.in");
ofstream w("datorii.out");
long long aib[15002], n, m;
void update(int a, int b){
aib[a]+=b;
if(a+ (a & -a)>n){
return ;
}
update(a+ (a & -a), b);
}
long long querry(int a){
if(a - (a & -a) == 0){
return aib[a];
}
return aib[a]+querry(a - (a & -a));
}
int main()
{
r>>n>>m;
for(int i=1;i<=n;i++){
int x;
r>>x;
update(i, x);
}
for(int i=0;i<m;i++){
int t;
r>>t;
if(t==0){
int a, b;
r>>a>>b;
update(a, -b);
}
else{
int a, b;
r>>a>>b;
w<<querry(b)-querry(a-1)<<"\n";
}
}
return 0;
}