fenwick-add-point
unknown
c_cpp
20 days ago
718 B
5
Indexable
#include <bits/stdc++.h> using namespace std; const int MAXN = 1e5 + 14; int fen[MAXN], n; void add(int ind, int x) { for(; ind <= n; ind += ind & -ind) fen[ind] += x; return; } int get(int ind) { int sum = 0; for(; ind; ind -= ind & -ind) sum += fen[ind]; return sum; } int main() { ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0); int q; cin>> n >> q; for(int i = 0; i < n; i++) { int a; cin>> a; add(i + 1, a); } while(q--) { int type; cin>> type; if(type == 1) // add { int idx, x; cin>> idx >> x; add(idx, x); } else // get { int l, r; cin>> l >> r; cout << get(r) - get(l - 1) << '\n'; } } }
Editor is loading...
Leave a Comment