#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
#include <bits/stdc++.h>
#define i64 long long
#define int long long
#define fi first
#define se second
#define all(v) v.begin(),v.end()
#define pb push_back
//#define mp make_pair
#define lwb lower_bound
#define upb upper_bound
#define endl '\n'
using namespace std;
typedef pair<int,int> ii;
typedef vector<int> veci;
const int inf=1e9;
const i64 Inf=1e18;
const int base=10;
const int mod=1e9+7;
const int N=1e5+5;
const int K=(1<<10)+5;
int n,m;
int bit[N],f[N][22],ans[N];
struct ds{
int p,kid;
}a[N];
struct query{
int b,p,pos;
}q[N];
void upd(int u,int val){
for(;u<=n;u+=(u&(-u))) bit[u]+=val;
}
int get(int u){
int ans=0;
for(;u>0;u-=(u&(-u))) ans+=bit[u];
return ans;
}
int get_min(int i,int j){
int k=log2(j-i+1);
return min(f[i][k],f[j-(1<<k)+1][k]);
}
void create(){
for(int i=1;i<=n;i++){
upd(i,a[i].p);
upd(i+1,-a[i].p);
}
for(int i=1;i<=n;i++) f[i][0]=a[i].kid;
int mk=log2(n)+1;
for(int k=1;k<=mk;k++)
for(int i=1;i+(1<<k)-1<=n;i++)
f[i][k]=min(f[i][k-1],f[i+(1<<(k-1))][k-1]);
}
int tknp_left(int l,int r,int x){
int vt=-1;
while(l<=r){
int m=(l+r)/2;
int pos=get(m);
if(pos<=x) {vt=m; l=m+1;}
else r=m-1;
}
return vt;
}
int tknp_right(int l,int r,int x){
int vt=-1;
while(l<=r){
int m=(l+r)/2;
int pos=get(m);
if(pos>x) {vt=m; r=m-1;}
else l=m+1;
}
return vt;
}
int find_left(int l,int r,int x){
int vt=-1;
while(l<=r){
int m=(l+r)/2;
int pos=get(m);
if(pos==x) {vt=m; r=m-1;};
if(pos<x) l=m+1;
if(pos>x) r=m-1;
}
return vt;
}
int find_right(int l,int r,int x){
int vt=-1;
while(l<=r){
int m=(l+r)/2,pos=get(m);
if(pos==x) {vt=m; l=m+1;}
if(pos<x) l=m+1;
if(pos>x) r=m-1;
}
return vt;
}
void input(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].p;
a[i].kid=i;
}
sort(a+1,a+n+1,[&](const ds &x,const ds&y){
return x.p<y.p;
});
cin>>m;
for(int i=1;i<=m;i++) cin>>q[i].b>>q[i].p,q[i].pos=i;
sort(q+1,q+m+1,[&](const query &x,const query &y){
return x.b>y.b;
});
create();
}
void progress(){
for(int i=1;i<=m;i++){
int vt1=tknp_left(1,n,q[i].p);
int vt2=tknp_right(1,n,q[i].p);
int d1=Inf,d2=Inf,dist=Inf;
if(vt1!=-1) d1=abs(get(vt1)-q[i].p);
if(vt2!=-1) d2=abs(get(vt2)-q[i].p);
if(d1<d2){
int vt=find_left(1,n,get(vt1));
ans[q[i].pos]=get_min(vt,vt1);
}
if(d1>d2){
int vt=find_right(1,n,get(vt2));
ans[q[i].pos]=get_min(vt2,vt);
}
if(d1==d2){
int l=find_left(1,n,get(vt1));
int r=find_right(1,n,get(vt2));
ans[q[i].pos]=get_min(l,r);
}
dist=min(d1,d2);
if(vt1!=-1) upd(1,dist),upd(vt1+1,-dist);
if(vt2!=-1) upd(vt2,-dist);
}
for(int i=1;i<=m;i++) cout<<ans[i]<<"\n";
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
#define FILE "mttd"
if(fopen(FILE".inp","r")){
freopen(FILE".inp","r",stdin);
freopen(FILE".out","w",stdout);
}
int test=1;
// cin>>test;
while(test--){
input();
progress();
}
}
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0IikKI3ByYWdtYSBHQ0MgdGFyZ2V0KCJhdngsYXZ4MixmbWEiKQojcHJhZ21hIEdDQyB0YXJnZXQgKCJhdngyIikKI3ByYWdtYSBHQ0Mgb3B0aW1pemF0aW9uICgiTzMiKQojcHJhZ21hIEdDQyBvcHRpbWl6YXRpb24gKCJ1bnJvbGwtbG9vcHMiKQojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBpNjQgbG9uZyBsb25nCiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgYWxsKHYpIHYuYmVnaW4oKSx2LmVuZCgpCiNkZWZpbmUgcGIgcHVzaF9iYWNrCi8vI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBsd2IgbG93ZXJfYm91bmQKI2RlZmluZSB1cGIgdXBwZXJfYm91bmQKI2RlZmluZSBlbmRsICdcbicKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIHBhaXI8aW50LGludD4gaWk7CnR5cGVkZWYgdmVjdG9yPGludD4gdmVjaTsKCmNvbnN0IGludCBpbmY9MWU5Owpjb25zdCBpNjQgSW5mPTFlMTg7CmNvbnN0IGludCBiYXNlPTEwOwpjb25zdCBpbnQgbW9kPTFlOSs3Owpjb25zdCBpbnQgTj0xZTUrNTsKY29uc3QgaW50IEs9KDE8PDEwKSs1OwoKaW50IG4sbTsKaW50IGJpdFtOXSxmW05dWzIyXSxhbnNbTl07CnN0cnVjdCBkc3sKICAgIGludCBwLGtpZDsKfWFbTl07CnN0cnVjdCBxdWVyeXsKICAgIGludCBiLHAscG9zOwp9cVtOXTsKCnZvaWQgdXBkKGludCB1LGludCB2YWwpewogICAgZm9yKDt1PD1uO3UrPSh1JigtdSkpKSBiaXRbdV0rPXZhbDsKfQoKaW50IGdldChpbnQgdSl7CiAgICBpbnQgYW5zPTA7CiAgICBmb3IoO3U+MDt1LT0odSYoLXUpKSkgYW5zKz1iaXRbdV07CiAgICByZXR1cm4gYW5zOwp9CgppbnQgZ2V0X21pbihpbnQgaSxpbnQgail7CiAgICBpbnQgaz1sb2cyKGotaSsxKTsKICAgIHJldHVybiBtaW4oZltpXVtrXSxmW2otKDE8PGspKzFdW2tdKTsKfQoKdm9pZCBjcmVhdGUoKXsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXsKICAgICAgICB1cGQoaSxhW2ldLnApOwogICAgICAgIHVwZChpKzEsLWFbaV0ucCk7CiAgICB9CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKykgZltpXVswXT1hW2ldLmtpZDsKICAgIGludCBtaz1sb2cyKG4pKzE7CiAgICBmb3IoaW50IGs9MTtrPD1taztrKyspCiAgICAgICAgZm9yKGludCBpPTE7aSsoMTw8ayktMTw9bjtpKyspCiAgICAgICAgICAgIGZbaV1ba109bWluKGZbaV1bay0xXSxmW2krKDE8PChrLTEpKV1bay0xXSk7Cn0KCmludCB0a25wX2xlZnQoaW50IGwsaW50IHIsaW50IHgpewogICAgaW50IHZ0PS0xOwogICAgd2hpbGUobDw9cil7CiAgICAgICAgaW50IG09KGwrcikvMjsKICAgICAgICBpbnQgcG9zPWdldChtKTsKICAgICAgICBpZihwb3M8PXgpIHt2dD1tOyBsPW0rMTt9CiAgICAgICAgZWxzZSByPW0tMTsKICAgIH0KICAgIHJldHVybiB2dDsKfQppbnQgdGtucF9yaWdodChpbnQgbCxpbnQgcixpbnQgeCl7CiAgICBpbnQgdnQ9LTE7CiAgICB3aGlsZShsPD1yKXsKICAgICAgICBpbnQgbT0obCtyKS8yOwogICAgICAgIGludCBwb3M9Z2V0KG0pOwogICAgICAgIGlmKHBvcz54KSB7dnQ9bTsgcj1tLTE7fQogICAgICAgIGVsc2UgbD1tKzE7CiAgICB9CiAgICByZXR1cm4gdnQ7Cn0KaW50IGZpbmRfbGVmdChpbnQgbCxpbnQgcixpbnQgeCl7CiAgICBpbnQgdnQ9LTE7CiAgICB3aGlsZShsPD1yKXsKICAgICAgICBpbnQgbT0obCtyKS8yOwogICAgICAgIGludCBwb3M9Z2V0KG0pOwogICAgICAgIGlmKHBvcz09eCkge3Z0PW07IHI9bS0xO307CiAgICAgICAgaWYocG9zPHgpIGw9bSsxOwogICAgICAgIGlmKHBvcz54KSByPW0tMTsKICAgIH0KICAgIHJldHVybiB2dDsKfQppbnQgZmluZF9yaWdodChpbnQgbCxpbnQgcixpbnQgeCl7CiAgICBpbnQgdnQ9LTE7CiAgICB3aGlsZShsPD1yKXsKICAgICAgICBpbnQgbT0obCtyKS8yLHBvcz1nZXQobSk7CiAgICAgICAgaWYocG9zPT14KSB7dnQ9bTsgbD1tKzE7fQogICAgICAgIGlmKHBvczx4KSBsPW0rMTsKICAgICAgICBpZihwb3M+eCkgcj1tLTE7CiAgICB9CiAgICByZXR1cm4gdnQ7Cn0KCnZvaWQgaW5wdXQoKXsKICAgIGNpbj4+bjsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKXsKICAgICAgIGNpbj4+YVtpXS5wOwogICAgICAgYVtpXS5raWQ9aTsKICAgIH0KICAgIHNvcnQoYSsxLGErbisxLFsmXShjb25zdCBkcyAmeCxjb25zdCBkcyZ5KXsKICAgICAgICAgICAgIHJldHVybiB4LnA8eS5wOwogICAgICAgICB9KTsKICAgIGNpbj4+bTsKICAgIGZvcihpbnQgaT0xO2k8PW07aSsrKSBjaW4+PnFbaV0uYj4+cVtpXS5wLHFbaV0ucG9zPWk7CiAgICBzb3J0KHErMSxxK20rMSxbJl0oY29uc3QgcXVlcnkgJngsY29uc3QgcXVlcnkgJnkpewogICAgICAgICAgICAgcmV0dXJuIHguYj55LmI7CiAgICAgICAgIH0pOwogICAgY3JlYXRlKCk7Cn0KCnZvaWQgcHJvZ3Jlc3MoKXsKICAgIGZvcihpbnQgaT0xO2k8PW07aSsrKXsKICAgICAgICBpbnQgdnQxPXRrbnBfbGVmdCgxLG4scVtpXS5wKTsKICAgICAgICBpbnQgdnQyPXRrbnBfcmlnaHQoMSxuLHFbaV0ucCk7CiAgICAgICAgaW50IGQxPUluZixkMj1JbmYsZGlzdD1JbmY7CiAgICAgICAgaWYodnQxIT0tMSkgZDE9YWJzKGdldCh2dDEpLXFbaV0ucCk7CiAgICAgICAgaWYodnQyIT0tMSkgZDI9YWJzKGdldCh2dDIpLXFbaV0ucCk7CiAgICAgICAgaWYoZDE8ZDIpewogICAgICAgICAgICBpbnQgdnQ9ZmluZF9sZWZ0KDEsbixnZXQodnQxKSk7CiAgICAgICAgICAgIGFuc1txW2ldLnBvc109Z2V0X21pbih2dCx2dDEpOwogICAgICAgIH0KICAgICAgICBpZihkMT5kMil7CiAgICAgICAgICAgIGludCB2dD1maW5kX3JpZ2h0KDEsbixnZXQodnQyKSk7CiAgICAgICAgICAgIGFuc1txW2ldLnBvc109Z2V0X21pbih2dDIsdnQpOwogICAgICAgIH0KICAgICAgICBpZihkMT09ZDIpewogICAgICAgICAgICBpbnQgbD1maW5kX2xlZnQoMSxuLGdldCh2dDEpKTsKICAgICAgICAgICAgaW50IHI9ZmluZF9yaWdodCgxLG4sZ2V0KHZ0MikpOwogICAgICAgICAgICBhbnNbcVtpXS5wb3NdPWdldF9taW4obCxyKTsKICAgICAgICB9CiAgICAgICAgZGlzdD1taW4oZDEsZDIpOwogICAgICAgIGlmKHZ0MSE9LTEpIHVwZCgxLGRpc3QpLHVwZCh2dDErMSwtZGlzdCk7CiAgICAgICAgaWYodnQyIT0tMSkgdXBkKHZ0MiwtZGlzdCk7CiAgICB9CiAgICBmb3IoaW50IGk9MTtpPD1tO2krKykgY291dDw8YW5zW2ldPDwiXG4iOwp9CgpzaWduZWQgbWFpbigpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7Y291dC50aWUoMCk7CgogICAgI2RlZmluZSBGSUxFICJtdHRkIgogICAgaWYoZm9wZW4oRklMRSIuaW5wIiwiciIpKXsKICAgICAgICBmcmVvcGVuKEZJTEUiLmlucCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuKEZJTEUiLm91dCIsInciLHN0ZG91dCk7CiAgICB9CgogICAgaW50IHRlc3Q9MTsKLy8gICAgY2luPj50ZXN0OwogICAgd2hpbGUodGVzdC0tKXsKICAgICAgICBpbnB1dCgpOwogICAgICAgIHByb2dyZXNzKCk7CiAgICB9Cn0=