#include <bits/stdc++.h>
 
const int maxn = 2e5 + 5;
 
int N, Q, root, cnt;
int A[maxn + 5];
std::vector<std::pair<int, int>> st[maxn + 5];
std::vector<int> ed[maxn + 5];
 
int id[maxn + 5], ans[maxn + 5];
 
std::mt19937 rng(time(0));
 
struct Node {
    int p, l, r, key, val, tag, mn, mx;
    Node() {
        key = 0;
        val = 0;
        mn = 0;
        mx = 0;
        l = 0;
        r = 0;
        p = 0;
        tag = 0;
    }
    Node(int x) {
        key = rng();
        val = x;
        mn = x;
        mx = x;
        l = 0;
        r = 0;
        p = 0;
        tag = 0;
    }
} a[maxn + 5];
 
void push(int x) {
    a[a[x].l].mn += a[x].tag;
    a[a[x].r].mn += a[x].tag;
    a[a[x].l].mx += a[x].tag;
    a[a[x].r].mx += a[x].tag;
    a[a[x].l].val += a[x].tag;
    a[a[x].r].val += a[x].tag;
 
    a[a[x].l].tag += a[x].tag;
    a[a[x].r].tag += a[x].tag;
    a[x].tag = 0;
}
 
void pull(int x) {
    a[x].mn = a[x].val;
    a[x].mx = a[x].val;
    if (a[x].l) {
        a[x].mn = std::min(a[x].mn, a[a[x].l].mn);
        a[x].mx = std::max(a[x].mx, a[a[x].l].mx);
    }
    if (a[x].r) {
        a[x].mn = std::min(a[x].mn, a[a[x].r].mn);
        a[x].mx = std::max(a[x].mx, a[a[x].r].mx);
    }
}
 
void pushall(int x) {
    std::vector<int> vec;
    while (a[x].p) {
        vec.push_back(a[x].p);
        x = a[x].p;
    }
    for (int i = (int)vec.size() - 1; i >= 0; --i) {
        push(vec[i]);
    }
}  
 
void split(int x, int k, int &l, int &r) {
    if (!x) {
        l = 0;
        r = 0;
        return;
    }
 
    push(x);
    if (a[x].val <= k) {
        split(a[x].r, k, a[x].r, r);
        a[r].p = 0;
        a[a[x].r].p = x;
        l = x;
    } else {
        split(a[x].l, k, l, a[x].l);
        a[l].p = 0;
        a[a[x].l].p = x;
        r = x;
    }
 
    pull(x);
}
 
void merge(int &x, int l, int r) {
    push(l), push(r);
    if (!l) {
        x = r;
        return;
    }
    if (!r) {
        x = l;
        return;
    }
 
    if (a[l].key > a[r].key) {
        merge(a[l].r, a[l].r, r);
        a[a[l].r].p = l;
        x = l;
    } else {
        merge(a[r].l, l, a[r].l);
        a[a[r].l].p = r;
        x = r;
    }
 
    pull(x);
}
 
void overlapping_merge(int &x, int l, int r) {
    if (!r) {
        x = l;
        return;
    }
    if (!l) {
        x = r;
        return;
    }
    x = 0;
    if (a[l].mn > a[r].mn) std::swap(l, r);
    while (r) {
        int l1, r1;
        split(l, a[r].mn, l1, r1);
        merge(x, x, l1);
        l = r;
        r = r1;
    }
    merge(x, x, l);
}
 
int main() {
    std::cin >> N;
    for (int i = 1; i <= N; ++i)
        std::cin >> A[i];
 
    std::cin >> Q;
    for (int i = 1; i <= Q; ++i) {
        int l, r, x; std::cin >> l >> r >> x;
        st[l].push_back({i, x});
        ed[r].push_back(i);
    }
 
    for (int i = 1; i <= N; ++i) {
        for (auto [q, x] : st[i]) {
            a[++cnt] = Node(x);
 
            id[q] = cnt;
            int l, r;
            split(root, x, l, r);
            merge(root, l, cnt);
            merge(root, root, r);
        }
 
        int l, r;
        split(root, 0, l, r);
 
 
        a[l].mn += A[i];
        a[l].mx += A[i];
        a[l].val += A[i];
        a[l].tag += A[i];   
 
        a[r].mn -= A[i];
        a[r].mx -= A[i];
        a[r].val -= A[i];
        a[r].tag -= A[i];
 
        overlapping_merge(root, l, r);
        for (int q : ed[i]) {
            pushall(id[q]);
            ans[q] = a[id[q]].val;
        }
    }
 
    for (int i = 1; i <= Q; ++i)
        std::cout << ans[i] << '\n';
 
    return 0;
}
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgpjb25zdCBpbnQgbWF4biA9IDJlNSArIDU7CgppbnQgTiwgUSwgcm9vdCwgY250OwppbnQgQVttYXhuICsgNV07CnN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjxpbnQsIGludD4+IHN0W21heG4gKyA1XTsKc3RkOjp2ZWN0b3I8aW50PiBlZFttYXhuICsgNV07CgppbnQgaWRbbWF4biArIDVdLCBhbnNbbWF4biArIDVdOwoKc3RkOjptdDE5OTM3IHJuZyh0aW1lKDApKTsKCnN0cnVjdCBOb2RlIHsKICAgIGludCBwLCBsLCByLCBrZXksIHZhbCwgdGFnLCBtbiwgbXg7CiAgICBOb2RlKCkgewogICAgICAgIGtleSA9IDA7CiAgICAgICAgdmFsID0gMDsKICAgICAgICBtbiA9IDA7CiAgICAgICAgbXggPSAwOwogICAgICAgIGwgPSAwOwogICAgICAgIHIgPSAwOwogICAgICAgIHAgPSAwOwogICAgICAgIHRhZyA9IDA7CiAgICB9CiAgICBOb2RlKGludCB4KSB7CiAgICAgICAga2V5ID0gcm5nKCk7CiAgICAgICAgdmFsID0geDsKICAgICAgICBtbiA9IHg7CiAgICAgICAgbXggPSB4OwogICAgICAgIGwgPSAwOwogICAgICAgIHIgPSAwOwogICAgICAgIHAgPSAwOwogICAgICAgIHRhZyA9IDA7CiAgICB9Cn0gYVttYXhuICsgNV07Cgp2b2lkIHB1c2goaW50IHgpIHsKICAgIGFbYVt4XS5sXS5tbiArPSBhW3hdLnRhZzsKICAgIGFbYVt4XS5yXS5tbiArPSBhW3hdLnRhZzsKICAgIGFbYVt4XS5sXS5teCArPSBhW3hdLnRhZzsKICAgIGFbYVt4XS5yXS5teCArPSBhW3hdLnRhZzsKICAgIGFbYVt4XS5sXS52YWwgKz0gYVt4XS50YWc7CiAgICBhW2FbeF0ucl0udmFsICs9IGFbeF0udGFnOwoKICAgIGFbYVt4XS5sXS50YWcgKz0gYVt4XS50YWc7CiAgICBhW2FbeF0ucl0udGFnICs9IGFbeF0udGFnOwogICAgYVt4XS50YWcgPSAwOwp9Cgp2b2lkIHB1bGwoaW50IHgpIHsKICAgIGFbeF0ubW4gPSBhW3hdLnZhbDsKICAgIGFbeF0ubXggPSBhW3hdLnZhbDsKICAgIGlmIChhW3hdLmwpIHsKICAgICAgICBhW3hdLm1uID0gc3RkOjptaW4oYVt4XS5tbiwgYVthW3hdLmxdLm1uKTsKICAgICAgICBhW3hdLm14ID0gc3RkOjptYXgoYVt4XS5teCwgYVthW3hdLmxdLm14KTsKICAgIH0KICAgIGlmIChhW3hdLnIpIHsKICAgICAgICBhW3hdLm1uID0gc3RkOjptaW4oYVt4XS5tbiwgYVthW3hdLnJdLm1uKTsKICAgICAgICBhW3hdLm14ID0gc3RkOjptYXgoYVt4XS5teCwgYVthW3hdLnJdLm14KTsKICAgIH0KfQoKdm9pZCBwdXNoYWxsKGludCB4KSB7CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IHZlYzsKICAgIHdoaWxlIChhW3hdLnApIHsKICAgICAgICB2ZWMucHVzaF9iYWNrKGFbeF0ucCk7CiAgICAgICAgeCA9IGFbeF0ucDsKICAgIH0KICAgIGZvciAoaW50IGkgPSAoaW50KXZlYy5zaXplKCkgLSAxOyBpID49IDA7IC0taSkgewogICAgICAgIHB1c2godmVjW2ldKTsKICAgIH0KfSAgCgp2b2lkIHNwbGl0KGludCB4LCBpbnQgaywgaW50ICZsLCBpbnQgJnIpIHsKICAgIGlmICgheCkgewogICAgICAgIGwgPSAwOwogICAgICAgIHIgPSAwOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBwdXNoKHgpOwogICAgaWYgKGFbeF0udmFsIDw9IGspIHsKICAgICAgICBzcGxpdChhW3hdLnIsIGssIGFbeF0uciwgcik7CiAgICAgICAgYVtyXS5wID0gMDsKICAgICAgICBhW2FbeF0ucl0ucCA9IHg7CiAgICAgICAgbCA9IHg7CiAgICB9IGVsc2UgewogICAgICAgIHNwbGl0KGFbeF0ubCwgaywgbCwgYVt4XS5sKTsKICAgICAgICBhW2xdLnAgPSAwOwogICAgICAgIGFbYVt4XS5sXS5wID0geDsKICAgICAgICByID0geDsKICAgIH0KCiAgICBwdWxsKHgpOwp9Cgp2b2lkIG1lcmdlKGludCAmeCwgaW50IGwsIGludCByKSB7CiAgICBwdXNoKGwpLCBwdXNoKHIpOwogICAgaWYgKCFsKSB7CiAgICAgICAgeCA9IHI7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKCFyKSB7CiAgICAgICAgeCA9IGw7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIGlmIChhW2xdLmtleSA+IGFbcl0ua2V5KSB7CiAgICAgICAgbWVyZ2UoYVtsXS5yLCBhW2xdLnIsIHIpOwogICAgICAgIGFbYVtsXS5yXS5wID0gbDsKICAgICAgICB4ID0gbDsKICAgIH0gZWxzZSB7CiAgICAgICAgbWVyZ2UoYVtyXS5sLCBsLCBhW3JdLmwpOwogICAgICAgIGFbYVtyXS5sXS5wID0gcjsKICAgICAgICB4ID0gcjsKICAgIH0KCiAgICBwdWxsKHgpOwp9Cgp2b2lkIG92ZXJsYXBwaW5nX21lcmdlKGludCAmeCwgaW50IGwsIGludCByKSB7CiAgICBpZiAoIXIpIHsKICAgICAgICB4ID0gbDsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoIWwpIHsKICAgICAgICB4ID0gcjsKICAgICAgICByZXR1cm47CiAgICB9CiAgICB4ID0gMDsKICAgIGlmIChhW2xdLm1uID4gYVtyXS5tbikgc3RkOjpzd2FwKGwsIHIpOwogICAgd2hpbGUgKHIpIHsKICAgICAgICBpbnQgbDEsIHIxOwogICAgICAgIHNwbGl0KGwsIGFbcl0ubW4sIGwxLCByMSk7CiAgICAgICAgbWVyZ2UoeCwgeCwgbDEpOwogICAgICAgIGwgPSByOwogICAgICAgIHIgPSByMTsKICAgIH0KICAgIG1lcmdlKHgsIHgsIGwpOwp9CgppbnQgbWFpbigpIHsKICAgIHN0ZDo6Y2luID4+IE47CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBOOyArK2kpCiAgICAgICAgc3RkOjpjaW4gPj4gQVtpXTsKCiAgICBzdGQ6OmNpbiA+PiBROwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gUTsgKytpKSB7CiAgICAgICAgaW50IGwsIHIsIHg7IHN0ZDo6Y2luID4+IGwgPj4gciA+PiB4OwogICAgICAgIHN0W2xdLnB1c2hfYmFjayh7aSwgeH0pOwogICAgICAgIGVkW3JdLnB1c2hfYmFjayhpKTsKICAgIH0KCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBOOyArK2kpIHsKICAgICAgICBmb3IgKGF1dG8gW3EsIHhdIDogc3RbaV0pIHsKICAgICAgICAgICAgYVsrK2NudF0gPSBOb2RlKHgpOwoKICAgICAgICAgICAgaWRbcV0gPSBjbnQ7CiAgICAgICAgICAgIGludCBsLCByOwogICAgICAgICAgICBzcGxpdChyb290LCB4LCBsLCByKTsKICAgICAgICAgICAgbWVyZ2Uocm9vdCwgbCwgY250KTsKICAgICAgICAgICAgbWVyZ2Uocm9vdCwgcm9vdCwgcik7CiAgICAgICAgfQoKICAgICAgICBpbnQgbCwgcjsKICAgICAgICBzcGxpdChyb290LCAwLCBsLCByKTsKCgogICAgICAgIGFbbF0ubW4gKz0gQVtpXTsKICAgICAgICBhW2xdLm14ICs9IEFbaV07CiAgICAgICAgYVtsXS52YWwgKz0gQVtpXTsKICAgICAgICBhW2xdLnRhZyArPSBBW2ldOyAgIAoKICAgICAgICBhW3JdLm1uIC09IEFbaV07CiAgICAgICAgYVtyXS5teCAtPSBBW2ldOwogICAgICAgIGFbcl0udmFsIC09IEFbaV07CiAgICAgICAgYVtyXS50YWcgLT0gQVtpXTsKCiAgICAgICAgb3ZlcmxhcHBpbmdfbWVyZ2Uocm9vdCwgbCwgcik7CiAgICAgICAgZm9yIChpbnQgcSA6IGVkW2ldKSB7CiAgICAgICAgICAgIHB1c2hhbGwoaWRbcV0pOwogICAgICAgICAgICBhbnNbcV0gPSBhW2lkW3FdXS52YWw7CiAgICAgICAgfQogICAgfQoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IFE7ICsraSkKICAgICAgICBzdGQ6OmNvdXQgPDwgYW5zW2ldIDw8ICdcbic7CgogICAgcmV0dXJuIDA7Cn0=