三级跳
给定一个长度为 N 的序列 A1,A2,…,AN。
对于一次操作,需要选择三个整数 a,b,c,满足:
- a<b<c;
- b−a≤c−b。
现有 Q 次询问。第 j 次询问给出两个整数 Lj,Rj,要求所选的 a,b,c 满足
Lj≤a<b<c≤Rj.
对于每次询问,求
Aa+Ab+Ac
的最大值。
输入格式
第一行一个整数 N。
第二行 N 个整数 A1,A2,…,AN。
第三行一个整数 Q。
接下来 Q 行,每行两个整数 Lj,Rj,表示一组询问。
输出格式
输出 Q 行。
第 j 行输出一个整数,表示第 j 次询问的最大值。
提示
对于前 20% 的数据,N,Q≤500。
对于前 40% 的数据,N,Q≤5000。
对于另外 20% 的数据,N≤500000,Q=1,且 L1=1,R1=N。
对于另外 20% 的数据,Ai 在值域内随机生成。
对于 100% 的数据,3≤N≤500000,1≤Q≤500000,1≤Ai≤109,1≤Lj≤Rj≤N,并保证 Rj−Lj+1≥3。