Pagini recente » Cod sursa (job #343061) | Cod sursa (job #1397329) | Cod sursa (job #951467) | Cod sursa (job #2748300) | Cod sursa (job #2917324)
//datorii-Infoarena
#include <iostream>
#include <fstream>
using namespace std;
#define DIM 15001
#define zeros(x) ((x ^ (x-1)) & x)
int n, q, v[DIM], aib[DIM], op, x, y;
const string file="datorii";
ifstream fin(file + ".in");
ofstream fout(file + ".out");
void Add(int x,int quantity){
for(int i = x;i <= n; i += zeros(i)){
aib[i] += quantity;
}
}
int compute(int x){
int ret = 0;
for(int i = x; i > 0; i -= zeros(i)){
ret += aib[i];
}
return ret;
}
void citire(){
fin >> n >> q;
for(int i = 1; i <= n; i++){
fin >> v[i];
Add(i, v[i]);
}
}
int main(){
citire();
for(int i = 0; i < q; i++){
fin >> op >> x >> y;
if(op == 0){
Add(x, -y);
}
else{
fout << compute(y) - compute(x-1) <<'\n';
}
}
}