Pagini recente » Cod sursa (job #675002) | Cod sursa (job #211889) | Cod sursa (job #485703) | Cod sursa (job #1893593) | Cod sursa (job #2635365)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("datorii.in");
ofstream fout("datorii.out");
/*
#define cin fin
#define cout fout
*/
#define Nmax 15001
int n, q;
int t, x, y;
int a[Nmax];
void adauga(int i, int val) {
for(; i <= n; i += i&(-i)) {
a[i] += val;
}
}
int calc(int i) {
int sol = 0;
for(; i; i -= i&(-i)) {
sol += a[i];
}
return sol;
}
int main() {
fin >> n >> q;
for(int i=1; i <= n; i++) {
fin >> x;
adauga(i, x);
}
while(q--) {
fin >> t >> x >> y;
if(t) {
fout << calc(y) - calc(x - 1) << endl;
} else {
adauga(x, -y);
}
}
return 0;
}