22 inline explicit seg_tree(
const std::vector<T>& v) noexcept : data(v), n(
int(v.size())) {
23 tree = std::vector<T>(2 * v.size(), 0);
25 for (
int i = 2 * n - 1; i >= n; i--) {
26 tree[i] = data[idx--];
30 for (
int i = n - 1; i >= 1; i--) {
31 tree[i] = tree[2 * n - idx - 1] + tree[2 * n - idx - 2];