#include <bits/stdc++.h>
using namespace std;
#define sigma signed
#define ll long long
#define endl '\n'
#define fi first
#define se second
#define all(x) x.begin(),x.end()
#define bit(i, x) (((x)>>(i))&(1))
#define int long long
const int N = 1e5 + 5;
long long node[N];
pair<ll, int> a[N];
int n, m;
struct query {
int val, pos, tt;
} q[N];
bool cmp(query a, query b) {
return a.val > b.val;
}
bool cmpp(pair<int, int> a, pair<int, int> b) {
if(a.fi != b.fi) return a.fi < b.fi;
return a.se > b.se;
}
bool tmp(pair<int, int> a, pair<int, int> b) {
if(a.fi != b.fi) return a.fi < b.fi;
return a.se < b.se;
}
int ans[N];
void update(int idx, ll val) {
while(idx <= n) {
node[idx] += val;
idx += idx & -idx;
}
}
ll get(int idx) {
ll ans = 0;
while(idx > 0) {
ans += node[idx];
idx -= idx & -idx;
}
return ans;
}
sigma main(){
if(fopen("vd.inp", "r")){
freopen("vd.inp", "r", stdin);
freopen("vd.out", "w", stdout);
}
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> n;
for(int i = 1; i <= n; i++) cin >> a[i].fi, a[i].se = i;
sort(a + 1, a + n + 1, cmpp);
vector<pair<int, int>> v;
for(int i = 1; i <= n; i++) v.push_back(a[i]);
sort(all(v), tmp);
int idx = 0;
a[++idx] = a[1];
for(int i = 1; i < n; i++)
if(v[i].fi != v[i - 1].fi) a[++idx] = v[i];
a[n + 1] = {9e18, n + 1};
a[0] = {-9e18, 0};
n = idx + 1;
for(int i = 1; i <= n; i++) {
update(i, a[i].fi);
update(i + 1, -a[i].fi);
}
cin >> m;
for(int i = 1; i <= m; i++) {
cin >> q[i].val >> q[i].pos;
q[i].tt = i;
}
sort(q + 1, q + m + 1, cmp);
for(int i = 1; i <= m; i++) {
int l = 1, r = n, left = 0;
int res = n + 1;
while(l <= r) {
int mid = (l + r) >> 1;
//cout << mid << ' ' << get(1, 1, n, mid) << endl;
if(get(mid) <= q[i].pos) l = mid + 1, left = mid;
else r = mid - 1;
}
if(left == n) {
//cout << "skp" << ' ' << a[left].fi << endl;
ans[q[i].tt] = a[left].se;
continue;
}
if(left == 0) {
//cout << "skp" << a[left + 1].fi << endl;
ans[q[i].tt] = a[left + 1].se;
continue;
}
int right = left + 1;
ll rv = get(right), lv = get(left);
//cout << left << ' ' << right << endl;
if(rv - q[i].pos < q[i].pos - lv) {
res = a[right].se;
update(1, rv - q[i].pos);
update(right, -rv + q[i].pos);
update(right, -rv + q[i].pos);
//cout << 11 << endl;
} if(rv - q[i].pos > q[i].pos - lv){
res = a[left].se;
update(1, q[i].pos - lv);
update(right, -q[i].pos + lv);
update(right, -q[i].pos + lv);
//cout << 222 << endl;
} if(rv - q[i].pos == -lv + q[i].pos) {
res = min(a[left].se, res);
res = min(res, a[right].se);
update(1, rv - q[i].pos);
update(right, -rv + q[i].pos);
update(right, -rv + q[i].pos);
}
ans[q[i].tt] = res;
}
for(int i = 1; i <= m; i++)
cout << ans[i] << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgc2lnbWEgc2lnbmVkCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBhbGwoeCkgeC5iZWdpbigpLHguZW5kKCkKI2RlZmluZSBiaXQoaSwgeCkgKCgoeCk+PihpKSkmKDEpKQojZGVmaW5lIGludCBsb25nIGxvbmcKY29uc3QgaW50IE4gPSAxZTUgKyA1Owpsb25nIGxvbmcgbm9kZVtOXTsKcGFpcjxsbCwgaW50PiBhW05dOwppbnQgbiwgbTsKc3RydWN0IHF1ZXJ5IHsKICAgIGludCB2YWwsIHBvcywgdHQ7Cn0gcVtOXTsKYm9vbCBjbXAocXVlcnkgYSwgcXVlcnkgYikgewogICAgcmV0dXJuIGEudmFsID4gYi52YWw7Cn0KYm9vbCBjbXBwKHBhaXI8aW50LCBpbnQ+IGEsIHBhaXI8aW50LCBpbnQ+IGIpIHsKICAgIGlmKGEuZmkgIT0gYi5maSkgcmV0dXJuIGEuZmkgPCBiLmZpOwogICAgcmV0dXJuIGEuc2UgPiBiLnNlOwp9CmJvb2wgdG1wKHBhaXI8aW50LCBpbnQ+IGEsIHBhaXI8aW50LCBpbnQ+IGIpIHsKICAgIGlmKGEuZmkgIT0gYi5maSkgcmV0dXJuIGEuZmkgPCBiLmZpOwogICAgcmV0dXJuIGEuc2UgPCBiLnNlOwp9CmludCBhbnNbTl07CnZvaWQgdXBkYXRlKGludCBpZHgsIGxsIHZhbCkgewogICAgd2hpbGUoaWR4IDw9IG4pIHsKICAgICAgICBub2RlW2lkeF0gKz0gdmFsOwogICAgICAgIGlkeCArPSBpZHggJiAtaWR4OwogICAgfQp9CmxsIGdldChpbnQgaWR4KSB7CiAgICBsbCBhbnMgPSAwOwogICAgd2hpbGUoaWR4ID4gMCkgewogICAgICAgIGFucyArPSBub2RlW2lkeF07CiAgICAgICAgaWR4IC09IGlkeCAmIC1pZHg7CiAgICB9CiAgICByZXR1cm4gYW5zOwp9CnNpZ21hIG1haW4oKXsKICAgIGlmKGZvcGVuKCJ2ZC5pbnAiLCAiciIpKXsKICAgICAgICBmcmVvcGVuKCJ2ZC5pbnAiLCAiciIsIHN0ZGluKTsKICAgICAgICBmcmVvcGVuKCJ2ZC5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICBjaW4gPj4gbjsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBjaW4gPj4gYVtpXS5maSwgYVtpXS5zZSA9IGk7CiAgICBzb3J0KGEgKyAxLCBhICsgbiArIDEsIGNtcHApOwogICAgdmVjdG9yPHBhaXI8aW50LCBpbnQ+PiB2OwogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHYucHVzaF9iYWNrKGFbaV0pOwogICAgc29ydChhbGwodiksIHRtcCk7CiAgICBpbnQgaWR4ID0gMDsKICAgIGFbKytpZHhdID0gYVsxXTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPCBuOyBpKyspCiAgICAgICAgaWYodltpXS5maSAhPSB2W2kgLSAxXS5maSkgYVsrK2lkeF0gPSB2W2ldOwogICAgYVtuICsgMV0gPSB7OWUxOCwgbiArIDF9OwogICAgYVswXSA9IHstOWUxOCwgMH07CiAgICBuID0gaWR4ICsgMTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgdXBkYXRlKGksIGFbaV0uZmkpOwogICAgICAgIHVwZGF0ZShpICsgMSwgLWFbaV0uZmkpOwogICAgfQogICAgY2luID4+IG07CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG07IGkrKykgewogICAgICAgIGNpbiA+PiBxW2ldLnZhbCA+PiBxW2ldLnBvczsKICAgICAgICBxW2ldLnR0ID0gaTsKICAgIH0KICAgIHNvcnQocSArIDEsIHEgKyBtICsgMSwgY21wKTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbTsgaSsrKSB7CiAgICAgICAgaW50IGwgPSAxLCByID0gbiwgbGVmdCA9IDA7CiAgICAgICAgaW50IHJlcyA9IG4gKyAxOwogICAgICAgIHdoaWxlKGwgPD0gcikgewogICAgICAgICAgICBpbnQgbWlkID0gKGwgKyByKSA+PiAxOwogICAgICAgICAgICAvL2NvdXQgPDwgbWlkIDw8ICcgJyA8PCBnZXQoMSwgMSwgbiwgbWlkKSA8PCBlbmRsOwogICAgICAgICAgICBpZihnZXQobWlkKSA8PSBxW2ldLnBvcykgbCA9IG1pZCArIDEsIGxlZnQgPSBtaWQ7CiAgICAgICAgICAgIGVsc2UgciA9IG1pZCAtIDE7CiAgICAgICAgfQogICAgICAgIGlmKGxlZnQgPT0gbikgewogICAgICAgICAgICAgICAgLy9jb3V0IDw8ICJza3AiIDw8ICcgJyA8PCBhW2xlZnRdLmZpIDw8IGVuZGw7CiAgICAgICAgICAgIGFuc1txW2ldLnR0XSA9IGFbbGVmdF0uc2U7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZihsZWZ0ID09IDApIHsKICAgICAgICAgICAgLy9jb3V0IDw8ICJza3AiIDw8IGFbbGVmdCArIDFdLmZpIDw8IGVuZGw7CiAgICAgICAgICAgIGFuc1txW2ldLnR0XSA9IGFbbGVmdCArIDFdLnNlOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaW50IHJpZ2h0ID0gbGVmdCArIDE7CiAgICAgICAgbGwgcnYgPSBnZXQocmlnaHQpLCBsdiA9IGdldChsZWZ0KTsKICAgICAgICAvL2NvdXQgPDwgbGVmdCA8PCAnICcgPDwgcmlnaHQgPDwgZW5kbDsKICAgICAgICBpZihydiAtIHFbaV0ucG9zIDwgcVtpXS5wb3MgLSBsdikgewogICAgICAgICAgICByZXMgPSBhW3JpZ2h0XS5zZTsKICAgICAgICAgICAgdXBkYXRlKDEsIHJ2IC0gcVtpXS5wb3MpOwogICAgICAgICAgICB1cGRhdGUocmlnaHQsIC1ydiArIHFbaV0ucG9zKTsKICAgICAgICAgICAgdXBkYXRlKHJpZ2h0LCAtcnYgKyBxW2ldLnBvcyk7CgogICAgICAgICAgICAvL2NvdXQgPDwgMTEgPDwgZW5kbDsKICAgICAgICB9IGlmKHJ2IC0gcVtpXS5wb3MgPiBxW2ldLnBvcyAtIGx2KXsKICAgICAgICAgICAgcmVzID0gYVtsZWZ0XS5zZTsKICAgICAgICAgICAgdXBkYXRlKDEsIHFbaV0ucG9zIC0gbHYpOwogICAgICAgICAgICB1cGRhdGUocmlnaHQsIC1xW2ldLnBvcyArIGx2KTsKICAgICAgICAgICAgdXBkYXRlKHJpZ2h0LCAtcVtpXS5wb3MgKyBsdik7CiAgICAgICAgICAgIC8vY291dCA8PCAyMjIgPDwgZW5kbDsKICAgICAgICB9IGlmKHJ2IC0gcVtpXS5wb3MgPT0gLWx2ICsgcVtpXS5wb3MpIHsKICAgICAgICAgICAgcmVzID0gbWluKGFbbGVmdF0uc2UsIHJlcyk7CiAgICAgICAgICAgIHJlcyA9IG1pbihyZXMsIGFbcmlnaHRdLnNlKTsKICAgICAgICAgICAgdXBkYXRlKDEsIHJ2IC0gcVtpXS5wb3MpOwogICAgICAgICAgICB1cGRhdGUocmlnaHQsIC1ydiArIHFbaV0ucG9zKTsKICAgICAgICAgICAgdXBkYXRlKHJpZ2h0LCAtcnYgKyBxW2ldLnBvcyk7CiAgICAgICAgfQoKICAgICAgICBhbnNbcVtpXS50dF0gPSByZXM7CiAgICB9CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG07IGkrKykKICAgICAgICBjb3V0IDw8IGFuc1tpXSA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0K