题目描述
译自 JOI Open 2019 T1 「三段跳び」
有一条路,包含 N 段,编号 1∼N。第 i 段有一个强度 Ai。
JOI 君,有天赋的体育明星,准备来三段跳。一个三段跳包含三次连续的跳跃。令 a,b,c 分别表示 JOI-kun 三次起跳的段编号,他们需要满足以下条件。
- a<b<c。含义是每次起跳的编号需要递增。
- b−a≤c−b。含义是第一次起跳跨越的距离需要小于等于第二次的。
JOI 君准备进行 Q 次三段跳。在第 j 次(1≤j≤Q)中,他需要在区间 [Lj,Rj] 中的编号起跳,也就是要满足 Lj≤a<b<c≤Rj。
JOI 君 想要选择恰当的位置起跳。对于每次三段跳,JOI 君想知道他起跳的这些位置的强度和,最大是多少。
写一个程序,给定段数和三段跳的信息。对于每个三段跳,计算他起跳的这些位置的强度和,最大是多少。
输入格式
第 1 行 1 个整数 N。
第 2 行 N 个整数,代表 A1,A2,⋯,An。
第 3 行 1 个整数 Q。
第 4∼4+Q−1 行,每行两个整数 Li,Ri。
输出格式
输出 Q 行。每行输出一个整数,表示答案。
提示
样例解释:
在第一次跳跃中,JOI 君可以选择 1,2,4 段,从而达到最大加和 12。
在第二次跳跃中,JOI 君可以选择 3,4,5 段,从而达到最大加和 9。如果选择 2,4,5,虽然和是 10,但是 b−a≤c−b 没有满足。
在第三次跳跃中,JOI 君可以选择 1,2,4 段,从而达到最大加和 12。如果选择 1,4,5,虽然和是 13,但是 b−a≤c−b 没有满足。
数据范围:
- 3≤N≤5×105。
- 1≤Ai≤108(1≤i≤N)。
- 1≤Q≤5×105。
- 1≤Lj<Lj+2≤Rj≤N(1≤j≤Q)。
子任务:
- (5 分)N≤100,Q≤100。
- (14 分)N≤5000。
- (27 分)N≤2×105,Q=1,L1=1,R1=N。
- (54 分)无额外约束。