#L4148. 「JOISC 2024 Day1」鱼 3

    ID: 4743 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>贪心其他数学数据结构前缀和单调栈构造同余模运算JOISC2024

「JOISC 2024 Day1」鱼 3

题目描述

题目译自 JOISC 2024 Day1 T1 「魚 3 / Fish 3」

JOI 君在一个大型水箱养了 NN 条鱼,并且对所有鱼从 11NN 编号。

JOI 君有足量的两种饲料 A 和 B,每次投放一片饲料后,有且仅有一条鱼会吃它。根据饲料类型,会对鱼的智力产生不同效果:

k(1kN)k\enspace (1\le k\le N) 吃了一片饲料 A 之后,鱼 kk 的智力增加 DD

k(1kN)k\enspace (1\le k\le N) 吃了一片饲料 B 之后,鱼 kk 和所有编号大于 kk 的鱼的智力各增加 11

目前所有鱼的智力均为 00。JOI 君希望鱼 i(1iN)i\enspace (1\le i\le N) 的智力等于预期值 CiC_i,但这不一定能做到。

他考虑了 QQ 个问题。其中第 j(1jQ)j\enspace (1\le j\le Q) 个问题形如:

从初始状态(即所有鱼的智力均为 00)开始,依次投放若干片饲料(可以不投放任何饲料),并可以指定吃每一片饲料的鱼,是否可能使鱼 Lj,Lj+1,,RjL_j, L_j+1,\dots, R_j 的智力均和预期值 CC 一致?如果可以,请给出至少要投放多少片饲料 A。

给定鱼、饲料和询问信息,写一个程序求解询问。

输入格式

从标准输入读入以下内容:

NDND

C1C2CNC1C2⋯ CN

QQ

L1R1L1R1

L2R2L2R2

LQRQLQRQ​ ​ ​

输出格式

输出 QQ 行,每行一个整数,对于其中第 j(1jQ)j\enspace (1\le j\le Q) 行,若鱼 Lj,Lj+1,,RjL_j,L_j+1,\dots ,R_j 可以同时恰好达到预期的智力值,输出最少需要投放的饲料 A 的片数;否则输出 1-1

样例1:

4 2
3 1 2 1
1
1 3
1

经过以下操作,鱼 1,,2,,31,,2,,3 最终均可达到预期的智力值,且仅需要 11 片饲料 A。

1,,2,,3,,41,,2,,3,,4 的智力依次分别为 0,,0,,0,,00,,0,,0,,0

JOI 君首先投放一片饲料 B,鱼 33 吃了之后,四条鱼的智力依次为 0,,0,,1,,10,,0,,1,,1

投放一片饲料 A,鱼 11 吃了之后,四条鱼的智力依次为 2,,0,,1,,12,,0,,1,,1

最后投放一片饲料 B,鱼 11 吃了之后,四条鱼的智力分别为 3,,1,,2,,23,,1,,2,,2

由于不投放任何饲料 A 无法使鱼 1,,2,,31,,2,,3 分别恰好达到智力值 1,,2,,31,,2,,3,因此输出 11

这组样例满足子任务 1,,51,,5 的限制。

样例2:

4 2
0 1 0 1
3
1 2
2 3
1 1
0
-1
0

这组样例满足子任务 1,,2,,51,,2,,5 的限制。

样例3:

5 1
3 1 4 1 5
3
1 5
2 4
3 5
5
3
3

这组样例满足子任务 1,,3,,51,,3,,5 的限制。

样例4:

6 3
16 14 13 8 6 5
4
1 4
2 5
3 3
1 6
9
8
0
-1

这组样例满足子任务 1,,4,,51,,4,,5 的限制。

数据规模与约定

对于所有数据,满足:

1N300,0001\le N\le 300,000

1Q300,0001\le Q\le 300,000

1D10121\le D\le 10^{12}

0Ci1012(1iN)0\le C_i\le 10^{12}\enspace (1\le i\le N)

1LjRjN(1jQ)1\le L_j\le R_j\le N\enspace (1\le j\le Q)

所有输入的数均为整数。

详细子任务附加限制及分值如下表所示:

子任务编号 附加限制 分值
11 N3,000,Q3,000N \le 3,000,\enspace Q \le 3,000 99
22 Ci1(1iN)C_i\le 1\enspace (1\le i\le N) 77
33 D=1D=1 2828
44 CiCi+1(1iN1)C_i\ge C_{i+1}\enspace (1\le i\le N-1) 3030
55 无附加限制 3636