func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long int sz = 7e5;   long long int sum[sz];   long long int mi[sz];   long long int arr[sz];   void build(long long int node, long long int l, long long int r) {     if (l == r) {       sum[node] = arr[l];     } else {       long long int mid = (l + r) / 2;       build(2 * node, l, mid);       build(2 * node + 1, mid + 1, r);       sum[node] = sum[node * 2] + sum[node * 2 + 1];     }   }   long long int query(long long int node, long long int l, long long int r,                       long long int tl, long long int tr) {     if (l > tr || r < tl)       return 0;     else if (l >= tl && r <= tr)       return sum[node];     else       return (query(node * 2, l, (l + r) / 2, tl, tr) +               query(node * 2 + 1, (l + r) / 2 + 1, r, tl, tr));   }   void build2(long long int node, long long int l, long long int r) {     if (l == r) {       mi[node] = arr[l];     } else {       long long int mid = (l + r) / 2;       build2(2 * node, l, mid);       build2(2 * node + 1, mid + 1, r);       mi[node] = min(mi[node * 2], mi[node * 2 + 1]);     }   }   long long int query2(long long int node, long long int l, long long int r,                        long long int tl, long long int tr) {     if (l > tr || r < tl)       return 0;     else if (l >= tl && r <= tr)       return mi[node];     else       return min(query2(node * 2, l, (l + r) / 2, tl, tr),                  query2(node * 2 + 1, (l + r) / 2 + 1, r, tl, tr));   }   long long int pre[sz];   int main() {     std::ios::sync_with_stdio(false);     long long int n;     cin >> n;     for (int i = 1; i <= n; i++) cin >> arr[i];     build(1, 1, n);     build2(1, 1, n);     sort(arr, arr + n + 1);     for (int i = 1; i <= n; i++) {       pre[i] = pre[i - 1] + arr[i];     }     long long int q;     cin >> q;     while (q--) {       long long int t;       cin >> t;       if (t == 1) {         long long int l, r;         cin >> l >> r;         cout << query(1, 1, n, l, r) << endl;       } else {         long long int l, r;         cin >> l >> r;         cout << pre[r] - pre[l - 1] << endl;       }     }     return 0;   }   