Pagini recente » Cod sursa (job #112601) | Cod sursa (job #2240363) | Cod sursa (job #2281697) | Cod sursa (job #728643) | Cod sursa (job #2635356)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("datorii.in");
ofstream fout("datorii.out");
#define cin fin
#define cout fout
#define int long long
#define Nmax 15010
int n, q;
int a[Nmax];
void adauga(int poz, int val) {
for(int i=poz; i <= n; i += i & (-i)) {
a[i] += val;
}
}
int calc(int max) {
int sol = 0;
for(int i = max; i >= 1; i -= i & (-i)) {
sol += a[i];
}
return sol;
}
void solve() {
cin >> n >> q;
for(int i=1; i <= n; i++) {
int x; cin >> x;
adauga(i, x);
}
while(q--) {
int t, x, y; cin >> t >> x >> y;
if(t == 0) {
adauga(x, -y);
} else {
cout << calc(y) - calc(x - 1) << endl;
}
}
}
#define int int
int main() {
ios_base::sync_with_stdio(0);
cin .tie(0);
cout.tie(0);
int testCases = 1;
//cin >> testCases;
while(testCases--) {
solve();
}
}