Pagini recente » Cod sursa (job #540223) | Cod sursa (job #1423523) | Cod sursa (job #2434216) | Cod sursa (job #3004910) | Cod sursa (job #2417947)
#include <bits/stdc++.h>
#define NMAX 15003
#define lsb(x)
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
int N, Q, a, Tip;
int Aib [NMAX];
void update (int poz, int val){
while (poz <= N){
Aib[poz] += val;
poz += (poz & (-poz));
}
}
int query (int poz){
int S = 0;
while (poz){
S += Aib[poz];
poz -= (poz & (-poz));
}
return S;
}
int main (){
fin >> N >> Q;
for (int i = 1; i <= N; i ++){
fin >> a;
update (i, a);
}
for (int i = 0; i < Q; i ++){
fin >> Tip;
if (Tip){
int st, dr;
fin >> st >> dr;
fout << query (dr) - query (st - 1) << '\n';
}
else{
int Y, X;
fin >> X >> Y;
update (X, -Y);
}
}
return 0;
}