题目描述
JOI 君在一个大水缸中饲养着 N 条鱼,每条鱼的编号从 1 到 N。
JOI 君有两种类型的鱼食,A 和 B,两种都有足够的数量。当往水族箱中添加一块食物时,恰好有一条鱼吃掉它(任何鱼都可以吃掉它),并且根据食物的类型以及吃掉它的鱼的情况,鱼的智力变化如下:
- 当第 k 条鱼(1≤k≤N)吃掉一块 A 型食物时,第 k 条鱼的智力恰好增加 D。
 
- 当第 k 条鱼(1≤k≤N)吃掉一块 B 型食物时,编号大于等于 k 的所有鱼的智力都恰好增加 1。
 
目前,所有鱼的智力都为 0。JOI 君希望使第 i 条鱼(1≤i≤N)的智力等于其理想智力 Ci,但这并不总是可能的。
因此,他考虑了 Q 个问题。第 j 个问题(1≤j≤Q)如下:
- 从所有鱼的智力都为 0 的状态开始,通过重复将食物放入水族箱零次或多次的动作,是否可能达到所有鱼 Lj,Lj+1,...,Rj 都拥有其精确的理想智力值的状态?此外,如果可能,需要放入水族箱的 A 型食物的最小数量是多少?
 
编写一个程序,给定有关 JOI 君的鱼的信息以及有关问题的信息,回答他的问题。
输入格式
从标准输入读取以下数据:
- N,D
 
- C1,C2,...,CN
 
- Q
 
- L1,R1
 
- L2,R2
 
- ...
 
- LQ,RQ
 
输出格式
输出共 Q 行。在第 j 行(1≤j≤Q)中,如果可以达到所有鱼 Lj,Lj+1,...,Rj 拥有其精确的理想智力值的状态,则输出需要放入水族箱的 A 型食物的最小数量。否则,输出 −1。
4 2
3 1 2 1
1
1 3
1
提示
样例解释 1
例如,在以下情况下,所有鱼 1,2,3 最终都达到了其精确的理想智力值,且放入水族箱的 A 型食物的数量为 1。
- 起初,鱼 1,2,3,4 的智力分别为 0,0,0,0。
 
- 接下来,JOI 君将一块 B 型食物放入水族箱,被鱼 3 吃掉。结果,鱼 1,2,3,4 的智力分别变为 0,0,1,1。
 
- 然后,JOI 君将一块 A 型食物放入水族箱,被鱼 1 吃掉。结果,鱼 1,2,3,4 的智力分别变为 2,0,1,1。
 
- 最后,JOI 君将一块 B 型食物放入水族箱,被鱼 1 吃掉。结果,鱼 1,2,3,4 的智力分别变为 3,1,2,2。
 
- 由于不放入任何 A 型食物就无法达到所有鱼 1,2,3 的精确理想智力值的状态,输出 1。
 
这个样例满足子任务 1 和 5 的约束条件。
约束条件
- 1≤N≤300,000。
 
- 1≤Q≤300,000。
 
- 1≤D≤1012。
 
- 0≤Ci≤1012(1≤i≤N)。
 
- 1≤Lj≤Rj≤N(1≤j≤Q)。
 
- 给定值均为整数。
 
子任务
- (9 分)N≤3,000,Q≤3,000。
 
- (7 分)Ci≤1(1≤i≤N)。
 
- (28 分)D=1。
 
- (20 分)Ci≥Ci+1(1≤i≤N−1)。
 
- (36 分)无额外约束。