#L4091. 马拉松比赛 2

马拉松比赛 2

题目描述

题目译自 JOI 2024 Final T3 「マラソン大会 2 / Marathon Race 2」

JOI 大道是一条东西向的长度为 LL 米的道路,地点 ll 位于从道路的西端走 ll0lL0 \leq l \leq L)米的地方。

今年 JOI 大道上第一次举办了马拉松大会。这个马拉松大会的规则和一般的不同,是按照以下的方式进行的:

  1. 道路上放了 NN 个球,第 ii1iN1 \leq i \leq N)个球放在地点 XiX_i。有些地方可能有多个球放在一起。
  2. 参加者从规定的起点出发。
  3. 拿到所有 NN 个球后,如果在规定的时间内到达规定的终点,就算是完赛。但是,如果把拿到的球放在地上就会被取消资格。

这个大会的起点,终点和时间限制还没有公布,但是已经公布了 QQ 个可能的方案。第 jj1jQ1 \leq j \leq Q)个方案的起点是地点 SjS_j,终点是地点 GjG_j,时间限制是 TjT_j 秒。

理恵是马拉松大会的其中一名运动员。她拿起一个球要花 11 秒,拿着 xx 个球在道路上跑 11 米要花 x+1x+1 秒。

给出 JOI 大道,球,方案的信息。编写一个程序,对于每个方案判断理恵能不能完赛。

输入格式

第一行包含两个整数 NN,LL

第二行包含用空格分隔的 NN 个整数 X1,X2,,XNX_1, X_2, \ldots ,X_N

第三行包含一个整数 QQ

接下来 QQ 行,每行包含三个整数 Sj,Gj,TjS_j, G_j, T_j,表示第 jj 个方案。

输出格式

输出 QQ 行。第 jj1jQ1 \leq j \leq Q)行,如果第 jj 个方案理恵能完赛输出 Yes,否则输出 No。

样例 1

输入

33 100100 3030 8080 3030 33 00 100100 403403 00 100100 300300 00 100100 262262

输出

Yes Yes No

说明

第一个方案的起点是地点 00,终点是地点 100100,时间限制是 403403 秒。按照以下的方式,可以在 263263 秒内完赛。所以第一行输出 Yes。

顺序 行动 花费时间 累计时间
11 从地点 00 出发,到地点 3030 3030
22 拿第一个球。 11 3131
33 拿第三个球。 3232
44 从地点 3030 到地点 8080 150150 182182
55 拿第二个球。 11 183183
66 从地点 8080 到地点 100100,完赛。 8080 263263

第二个方案的起点和终点和第一个方案一样,但是时间限制是 300300 秒。用前面的方法,可以在 263263 秒内完赛。所以,第二行输出 Yes。

第三个方案的起点和终点和前面两个方案一样,但是时间限制是 262262 秒。不能在时间限制内完赛。所以,第三行输出 No。

这个样例满足子任务 2,3,4,5,6,72,3,4,5,6,7 的限制。

样例 2

输入

33 100100 3030 8080 3030 33 00 00 403403 00 00 300300 00 00 262262

输出

Yes No No

说明

第一个方案的起点是地点 00,终点也是地点 00,时间限制是 403403 秒。按照以下的方式,可以在 403403 秒内完赛。所以,第一行输出 Yes。

顺序 行动 花费时间 累计时间
11 从地点 00 出发,到地点 3030 3030
22 拿第一个球。 11 3131
33 从地点 3030 到地点 8080 100100 131131
44 拿第二个球。 11 132132
55 从地点 8080 到地点 3030 150150 282282
66 拿第三个球。 11 283283
77 从地点 3030 到地点 00,完赛。 120120 403403

第二个方案和第三个方案的起点和终点和第一个方案一样,但是时间限制分别是 300300 秒和 262262 秒。都不能在时间限制内完赛。所以,第二行和第三行都输出 No。

这个样例满足子任务 1,2,3,4,5,6,71,2,3,4,5,6,7 的限制。

样例 3

输入

66 100100 00 5050 100100 00 5050 100100 44 2020 7070 600600 7070 2020 600600 1010 4040 600600 4040 1010 600600

输出

No Yes No Yes

这个样例满足子任务 2,3,4,5,6,72,3,4,5,6,7 的限制。

数据范围与提示

对于所有输入数据,满足:

  • 1N5×1051 \leq N \leq 5\times 10^5
  • 1L5×1051 \leq L \leq 5\times 10^5
  • 0XiL0 \leq X_i \leq L1iN1 \leq i \leq N
  • 1Q5×1051 \leq Q \leq 5\times 10^5
  • 0SjL0 \leq S_j \leq L1jQ1 \leq j \leq Q
  • 0GjL0 \leq G_j \leq L1jQ1 \leq j \leq Q
  • 1Tj5×1051 \leq T_j \leq 5\times 10^51jQ1 \leq j \leq Q

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

子任务 附加限制 分值
11 N7N \leq 7Q10Q \leq 10Sj=0S_j=0Gj=0G_j=01jQ1 \leq j \leq Q 77
22 N7N \leq 7Q10Q \leq 10
33 N14N \leq 14Q10Q \leq 10 1010
44 N100N \leq 100Q10Q \leq 10 2828
55 N2000N \leq 2000Q10Q \leq 10 1010
66 N2000N \leq 2000 1919
77 无附加限制