【题目描述】
给定一个长度为 N 的非负整数序列 A=(A1,…,AN),需要回答 Q 个查询。
对于第 i 个查询,给定满足 1≤Li≤Ri≤N 的整数 Li和 Ri,考虑长度为 Ri−Li+1 的子序列 B=(ALi,…,ARi)。
对于子序列 B,考虑重复执行以下操作:
- 选择满足 1≤i,j≤∣B∣ 且 1≤Bi,Bj且1≤j−i≤2的整数 i 和 j。
- 从 Bi 和 Bj 中各减去 1。
求出可以执行操作的最大次数。
【输入格式】
输入来自标准输入,格式如下:
NQA1⋯ANL1R1⋮LQRQ
【输出格式】
请输出Q行。
第i行输出对于子序列 B=(ALi,…,ARi) 可以执行操作的最大次数。
【样例组】
输入1
6 1
1 1 4 0 3 2
1 6
输出1
5
输入2
6 6
49 83 10 77 21 62
1 1
1 2
1 3
3 5
1 6
5 6
输出2
0
49
59
31
151
21
【样例解释】
在这个示例中,我们求解的问题是对于给定的序列 B=(1,1,4,0,3,2),我们可以执行以下五项操作:
- 选择 i=1 和 j=3。然后,将 Bi 和 Bj 各减去 1,得到 B=(0,1,3,0,3,2)。
- 选择 i=2 和 j=3。然后,将 Bi 和 Bj 各减去 1,得到 B=(0,0,2,0,3,2)。
- 选择 i=3 和 j=5。然后,将 Bi 和 Bj 各减去 1,得到 B=(0,0,1,0,2,2)。
- 选择 i=5 和 j=6。然后,将 Bi 和 Bj 各减去 1,得到 B=(0,0,1,0,1,1)。
- 选择 i=5 和 j=6。然后,将 Bi 和 Bj 各减去 1,得到 B=(0,0,1,0,0,0)。
因此,可以执行操作的最大次数是5。
【数据范围】
1≤N≤2000001≤Q≤2000000≤Ai≤1091≤Li≤Ri≤N
所有输入值均为整数。