#include<bits/stdc++.h>
#include<string.h>
using namespace std;
#define fastIO ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define int long long int
#define fi first
#define se second
#define pub push_back
#define mkp make_pair
#define pi pair<int,int>
#define all(v) (v).begin(), (v).end()
#define rep(i, l, r) for(int i=(int)(l);i<(int)(r);i++)
#define repd(i, l, r) for (int i=(int)(l);i>=(int)(r);i--)
int power(int x, unsigned int y){int res = 1;while (y > 0){ if (y & 1){res = res*x;} y = y>>1;x = x*x;}return res;}
int powermod(int x, unsigned int y, int p){int res = 1;x = x % p;while (y > 0){if (y & 1){res = (res*x) % p;}y = y>>1; x = (x*x) % p;}return res;}
#define print2d(mat,n,m){for(int i=0;i<(int)(n);i++){for(int j=0;j<(m);j++){cout<<mat[i][j]<<" "<< "endl"[j == m];}}}
#define print1d(mat,n){for(int i=0;i<(int)(n);i++)cout<<mat[i]<<" ";cout<<endl;}
#define clr(a,x) memset(a,x,sizeof(a))
#define rr(v) for(auto &val:v)
#define print(v) for (const auto itr:v){cout<<itr<<' ';}cout<<endl;
#define init(v,x) for (auto &itr:v){itr=x;}
#define minpq(x) x,vector<x>,greater<x>
#define ln length()
#define sz size()
#define inf 1e18;
int a[100005],n,q,a1,b;
struct val{
int ps;
int ss;
int ms;
int su;
};
struct val tree[4*100005];
void build(int node,int start,int en)
{
// cout<<node<<endl;
if (start==en)
{
tree[node].ps=a[start];
tree[node].ss=a[start];
tree[node].ms=a[start];
tree[node].su=a[start];
}
else
{
int mid=(start+en)/2;
build(2*node,start,mid);
build(2*node+1,mid+1,en);
tree[node].su=tree[2*node].su+tree[2*node+1].su;
tree[node].ps=max(tree[2*node].ps,tree[2*node].su+tree[2*node+1].ps);
tree[node].ss=max(tree[2*node+1].ss,tree[2*node+1].su+tree[2*node].ss);
tree[node].ms=max(tree[node].ps,max(tree[node].ss,max(tree[node].su,max(tree[2*node].ms,max(tree[2*node+1].ms,tree[2*node].ss+tree[2*node+1].ps)))));
}
}
struct val query(int node,int start, int en , int l, int r)
{
//# cout<<node<<" "<<start<<" "<<en<<" "<<l<<" "<<r<<endl;
if (r<start || l>en)
{
struct val mi;
mi.ps=-inf;mi.ss=-inf;mi.ms=-inf;mi.su=-inf;
return mi ;
}
if(l<=start && r>=en)
{
return tree[node];
}
else
{
int mid=(start+en)/2;
struct val q1=query(2*node,start,mid,l,r);
struct val q2=query(2*node+1,mid+1,en,l,r);
struct val an;
an.su=q1.su+q2.su;
an.ps=max(q1.ps,q1.su+q2.ps);
an.ss=max(q2.ss,q2.su+q1.ss);
an.ms=max(an.ps,max(an.ss,max(an.su,max(q1.ms,max(q2.ms,q1.ss+q2.ps)))));
return an;
}
}
main()
{
cin>>n;
rep(i,0,n)
{
cin>>a[i];
}
cin>>q;
build(1,0,n-1);
// print1d(tree,8)
rep(i,0,q)
{
cin>>a1>>b;
cout<<query(1,0,n-1,a1-1,b-1).ms<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGU8c3RyaW5nLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgZmFzdElPIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2Npbi50aWUoTlVMTCk7Y291dC50aWUoTlVMTCk7CiNkZWZpbmUgaW50IGxvbmcgbG9uZyBpbnQKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHB1YiBwdXNoX2JhY2sKI2RlZmluZSBta3AgbWFrZV9wYWlyCiNkZWZpbmUgcGkgcGFpcjxpbnQsaW50PgojZGVmaW5lIGFsbCh2KSAodikuYmVnaW4oKSwgKHYpLmVuZCgpCiNkZWZpbmUgcmVwKGksIGwsIHIpIGZvcihpbnQgaT0oaW50KShsKTtpPChpbnQpKHIpO2krKykKI2RlZmluZSByZXBkKGksIGwsIHIpIGZvciAoaW50IGk9KGludCkobCk7aT49KGludCkocik7aS0tKQppbnQgcG93ZXIoaW50IHgsIHVuc2lnbmVkIGludCB5KXtpbnQgcmVzID0gMTt3aGlsZSAoeSA+IDApeyBpZiAoeSAmIDEpe3JlcyA9IHJlcyp4O30geSA9IHk+PjE7eCA9IHgqeDt9cmV0dXJuIHJlczt9CmludCBwb3dlcm1vZChpbnQgeCwgdW5zaWduZWQgaW50IHksIGludCBwKXtpbnQgcmVzID0gMTt4ID0geCAlIHA7d2hpbGUgKHkgPiAwKXtpZiAoeSAmIDEpe3JlcyA9IChyZXMqeCkgJSBwO315ID0geT4+MTsgeCA9ICh4KngpICUgcDt9cmV0dXJuIHJlczt9CiNkZWZpbmUgcHJpbnQyZChtYXQsbixtKXtmb3IoaW50IGk9MDtpPChpbnQpKG4pO2krKyl7Zm9yKGludCBqPTA7ajwobSk7aisrKXtjb3V0PDxtYXRbaV1bal08PCIgIjw8ICJlbmRsIltqID09IG1dO319fQojZGVmaW5lIHByaW50MWQobWF0LG4pe2ZvcihpbnQgaT0wO2k8KGludCkobik7aSsrKWNvdXQ8PG1hdFtpXTw8IiAiO2NvdXQ8PGVuZGw7fQojZGVmaW5lIGNscihhLHgpIG1lbXNldChhLHgsc2l6ZW9mKGEpKQojZGVmaW5lIHJyKHYpIGZvcihhdXRvICZ2YWw6dikKI2RlZmluZSBwcmludCh2KSBmb3IgKGNvbnN0IGF1dG8gaXRyOnYpe2NvdXQ8PGl0cjw8JyAnO31jb3V0PDxlbmRsOwojZGVmaW5lIGluaXQodix4KSBmb3IgKGF1dG8gJml0cjp2KXtpdHI9eDt9CiNkZWZpbmUgbWlucHEoeCkgeCx2ZWN0b3I8eD4sZ3JlYXRlcjx4PgojZGVmaW5lIGxuIGxlbmd0aCgpCiNkZWZpbmUgc3ogc2l6ZSgpCiNkZWZpbmUgaW5mIDFlMTg7CmludCBhWzEwMDAwNV0sbixxLGExLGI7CnN0cnVjdCB2YWx7CmludCBwczsKaW50IHNzOwppbnQgbXM7CmludCBzdTsKfTsKc3RydWN0IHZhbCB0cmVlWzQqMTAwMDA1XTsKdm9pZCBidWlsZChpbnQgbm9kZSxpbnQgc3RhcnQsaW50IGVuKQp7CiAgLy8gIGNvdXQ8PG5vZGU8PGVuZGw7CiAgICBpZiAoc3RhcnQ9PWVuKQogICAgewogICAgICAgIHRyZWVbbm9kZV0ucHM9YVtzdGFydF07CiAgICAgICAgdHJlZVtub2RlXS5zcz1hW3N0YXJ0XTsKICAgICAgICB0cmVlW25vZGVdLm1zPWFbc3RhcnRdOwogICAgICAgIHRyZWVbbm9kZV0uc3U9YVtzdGFydF07CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgaW50IG1pZD0oc3RhcnQrZW4pLzI7CiAgICAgICAgYnVpbGQoMipub2RlLHN0YXJ0LG1pZCk7CiAgICAgICAgYnVpbGQoMipub2RlKzEsbWlkKzEsZW4pOwogICAgICAgIHRyZWVbbm9kZV0uc3U9dHJlZVsyKm5vZGVdLnN1K3RyZWVbMipub2RlKzFdLnN1OwogICAgICAgIHRyZWVbbm9kZV0ucHM9bWF4KHRyZWVbMipub2RlXS5wcyx0cmVlWzIqbm9kZV0uc3UrdHJlZVsyKm5vZGUrMV0ucHMpOwogICAgICAgIHRyZWVbbm9kZV0uc3M9bWF4KHRyZWVbMipub2RlKzFdLnNzLHRyZWVbMipub2RlKzFdLnN1K3RyZWVbMipub2RlXS5zcyk7CiAgICAgICAgdHJlZVtub2RlXS5tcz1tYXgodHJlZVtub2RlXS5wcyxtYXgodHJlZVtub2RlXS5zcyxtYXgodHJlZVtub2RlXS5zdSxtYXgodHJlZVsyKm5vZGVdLm1zLG1heCh0cmVlWzIqbm9kZSsxXS5tcyx0cmVlWzIqbm9kZV0uc3MrdHJlZVsyKm5vZGUrMV0ucHMpKSkpKTsKCiAgICB9Cn0Kc3RydWN0IHZhbCBxdWVyeShpbnQgbm9kZSxpbnQgc3RhcnQsIGludCBlbiAsIGludCBsLCBpbnQgcikKewogIC8vIyAgY291dDw8bm9kZTw8IiAiPDxzdGFydDw8IiAiPDxlbjw8IiAiPDxsPDwiICI8PHI8PGVuZGw7CiAgICBpZiAocjxzdGFydCB8fCBsPmVuKQogICAgewogICAgICAgIHN0cnVjdCB2YWwgbWk7CiAgICAgICAgbWkucHM9LWluZjttaS5zcz0taW5mO21pLm1zPS1pbmY7bWkuc3U9LWluZjsKICAgICAgICByZXR1cm4gbWkgOwogICAgfQogICAgaWYobDw9c3RhcnQgJiYgcj49ZW4pCiAgICB7CiAgICAgICAgcmV0dXJuIHRyZWVbbm9kZV07CiAgICB9CiAgICBlbHNlCiAgICB7CgogICAgICAgIGludCBtaWQ9KHN0YXJ0K2VuKS8yOwogICAgICAgIHN0cnVjdCB2YWwgcTE9cXVlcnkoMipub2RlLHN0YXJ0LG1pZCxsLHIpOwogICAgICAgIHN0cnVjdCB2YWwgcTI9cXVlcnkoMipub2RlKzEsbWlkKzEsZW4sbCxyKTsKICAgICAgICBzdHJ1Y3QgdmFsIGFuOwogICAgICAgIGFuLnN1PXExLnN1K3EyLnN1OwogICAgICAgIGFuLnBzPW1heChxMS5wcyxxMS5zdStxMi5wcyk7CiAgICAgICAgYW4uc3M9bWF4KHEyLnNzLHEyLnN1K3ExLnNzKTsKICAgICAgICBhbi5tcz1tYXgoYW4ucHMsbWF4KGFuLnNzLG1heChhbi5zdSxtYXgocTEubXMsbWF4KHEyLm1zLHExLnNzK3EyLnBzKSkpKSk7CiAgICAgICAgcmV0dXJuIGFuOwogICAgfQp9Cm1haW4oKQp7CiAgICBjaW4+Pm47CiAgICByZXAoaSwwLG4pCiAgICB7CiAgICAgICAgY2luPj5hW2ldOwogICAgfQogICAgY2luPj5xOwogICAgYnVpbGQoMSwwLG4tMSk7CiAgIC8vIHByaW50MWQodHJlZSw4KQogICAgcmVwKGksMCxxKQogICAgewogICAgICAgIGNpbj4+YTE+PmI7CiAgICAgICAgY291dDw8cXVlcnkoMSwwLG4tMSxhMS0xLGItMSkubXM8PGVuZGw7CiAgICB9CgoKfQo=