Pagini recente » Cod sursa (job #107084) | Cod sursa (job #1156683) | Cod sursa (job #2168465) | Cod sursa (job #581896) | Cod sursa (job #3322225)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
const int NMAX = 1e5;
int n;
int Bit[2 * NMAX + 1];
void update(int i, int val){
while(i <= n){
Bit[i] += val;
i += i & (-i);
}
}
int query(int i){
int sum = 0;
while(i > 0){
sum += Bit[i];
i -= i & (-i);
}
return sum;
}
int main()
{
int x, a, b, q;
bool cer;
fin>>n>>q;
for(int i=1; i<=n; i++){
fin>>x;
update(i, x);
}
for(int i=1; i<=q; i++){
fin>>cer>>a>>b;
if(cer == 0){
int orig = query(a) - query(a-1);
update(a, -b);
} else {
fout<<query(b) - query(a-1)<<'\n';
}
}
return 0;
}