Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define ll long long
- #define ld long double
- using namespace std;
- bool cmp(const pair<int, int> &p1, const pair<int, int> &p2)
- {
- if (p1.first == p2.first)
- return p1.second < p2.second;
- return p1.first < p2.first;
- }
- int main()
- {
- ll n, s = 0, q;
- cin >> n;
- vector<ll> v(n), pre(n);
- vector<pair<ll, ll>> pr(n);
- for (ll i = 0; i < n; ++i)
- {
- cin >> v[i];
- s += v[i];
- pre[i] = s;
- pr[i] = {v[i], i};
- }
- sort(pr.begin(), pr.end(), cmp);
- cin >> q;
- while (q--)
- {
- ll c;
- cin >> c;
- if (c == 1)
- {
- ll l, r;
- cin >> l >> r;
- l--;
- r--;
- ll y = pre[r];
- if (l - 1 >= 0)
- y -= pre[l - 1];
- cout << y << endl;
- }
- else
- {
- ll k;
- cin >> k;
- cout << pr[k - 1].second + 1 << endl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment