#include <bits/stdc++.h>
using namespace std;
const int N = 1e5; // limit for array size
int n; // array size
int t[2 * N];
int t_ans[2*N];
void build1() { // build the tree
for (int i = n - 1; i > 0; --i) t[i] = max(t[i<<1],t[i<<1|1]);
}
void build2() { // build the tree
for (int i = n - 1; i > 0; --i) t_ans[i] = t[i<<1] - t[i<<1|1];
}
void modify(int p, int value) { // set value at position p
for (t[p += n] = value; p > 1; p >>= 1) t[p>>1] = t[p] + t[p^1];
}
int query(int l, int r) { // sum on interval [l, r)
int res = 0;
for (l += n, r += n; l < r; l >>= 1, r >>= 1) {
if (l&1) res = max(res,t[l++]);
if (r&1) res = max(res,t[--r]);
}
return res;
}
int query2(int l, int r) { // sum on interval [l, r)
int res = 0;
for (l += n, r += n; l < r; l >>= 1, r >>= 1) {
if (l&1) res = max(res, t_ans[l++]);
if (r&1) res = max(res, t_ans[--r]);
}
return res;
}
int main() {
cin>>n;
for (int i = 0; i < n; ++i) {
scanf("%d", t + n + i);
}
build1();
build2();
/*
For testing purpose only
for(int i=0; i<2*n; i++) {
cout<<t[i]<<" ";
}
cout<<endl;
for(int i=0; i<2*n; i++) {
cout<<t_ans[i]<<" ";
}
cout<<endl;
*/
int q;
cin>>q;
for(int i=0; i<q; i++) {
int l,r;
cin>>l>>r;
cout<<query2(l,r+1)<<endl;
}
return 0;
}
ICNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgoKICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CgogICAgY29uc3QgaW50IE4gPSAxZTU7ICAvLyBsaW1pdCBmb3IgYXJyYXkgc2l6ZQogICAgaW50IG47ICAvLyBhcnJheSBzaXplCiAgICBpbnQgdFsyICogTl07CiAgICBpbnQgdF9hbnNbMipOXTsKCiAgICB2b2lkIGJ1aWxkMSgpIHsgIC8vIGJ1aWxkIHRoZSB0cmVlCiAgICAgIGZvciAoaW50IGkgPSBuIC0gMTsgaSA+IDA7IC0taSkgdFtpXSA9IG1heCh0W2k8PDFdLHRbaTw8MXwxXSk7CiAgICB9CgogICAgdm9pZCBidWlsZDIoKSB7ICAvLyBidWlsZCB0aGUgdHJlZQogICAgICBmb3IgKGludCBpID0gbiAtIDE7IGkgPiAwOyAtLWkpIHRfYW5zW2ldID0gdFtpPDwxXSAtIHRbaTw8MXwxXTsKICAgIH0KCiAgICB2b2lkIG1vZGlmeShpbnQgcCwgaW50IHZhbHVlKSB7ICAvLyBzZXQgdmFsdWUgYXQgcG9zaXRpb24gcAogICAgICBmb3IgKHRbcCArPSBuXSA9IHZhbHVlOyBwID4gMTsgcCA+Pj0gMSkgdFtwPj4xXSA9IHRbcF0gKyB0W3BeMV07CiAgICB9CgogICAgaW50IHF1ZXJ5KGludCBsLCBpbnQgcikgeyAgLy8gc3VtIG9uIGludGVydmFsIFtsLCByKQogICAgICBpbnQgcmVzID0gMDsKICAgICAgZm9yIChsICs9IG4sIHIgKz0gbjsgbCA8IHI7IGwgPj49IDEsIHIgPj49IDEpIHsKICAgICAgICBpZiAobCYxKSByZXMgPSBtYXgocmVzLHRbbCsrXSk7CiAgICAgICAgaWYgKHImMSkgcmVzID0gbWF4KHJlcyx0Wy0tcl0pOwogICAgICB9CiAgICAgIHJldHVybiByZXM7CiAgICB9CgogICAgaW50IHF1ZXJ5MihpbnQgbCwgaW50IHIpIHsgIC8vIHN1bSBvbiBpbnRlcnZhbCBbbCwgcikKICAgICAgaW50IHJlcyA9IDA7CiAgICAgIGZvciAobCArPSBuLCByICs9IG47IGwgPCByOyBsID4+PSAxLCByID4+PSAxKSB7CiAgICAgICAgaWYgKGwmMSkgcmVzID0gbWF4KHJlcywgdF9hbnNbbCsrXSk7CiAgICAgICAgaWYgKHImMSkgcmVzID0gbWF4KHJlcywgdF9hbnNbLS1yXSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHJlczsKICAgIH0KCiAgICBpbnQgbWFpbigpIHsKICAgICAgY2luPj5uOwogICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgIHNjYW5mKCIlZCIsIHQgKyBuICsgaSk7CiAgICAgIH0KICAgICAgYnVpbGQxKCk7CiAgICAgIGJ1aWxkMigpOwoKICAgICAgLyoKICAgICAgRm9yIHRlc3RpbmcgcHVycG9zZSBvbmx5CiAgICAgIGZvcihpbnQgaT0wOyBpPDIqbjsgaSsrKSB7CiAgICAgICAgY291dDw8dFtpXTw8IiAiOwogICAgICB9CiAgICAgIGNvdXQ8PGVuZGw7CiAgICAgIGZvcihpbnQgaT0wOyBpPDIqbjsgaSsrKSB7CiAgICAgICAgY291dDw8dF9hbnNbaV08PCIgIjsKICAgICAgfQogICAgICBjb3V0PDxlbmRsOwogICAgICAqLwogICAgICBpbnQgcTsKICAgICAgY2luPj5xOwogICAgICBmb3IoaW50IGk9MDsgaTxxOyBpKyspIHsKICAgICAgICBpbnQgbCxyOwogICAgICAgIGNpbj4+bD4+cjsKICAgICAgICBjb3V0PDxxdWVyeTIobCxyKzEpPDxlbmRsOwogICAgICB9CgogICAgICByZXR1cm4gMDsKICAgIH0=