#P14868. [OOI2024 资格赛]Hard problem难题

[OOI2024 资格赛]Hard problem难题

题目描述

Gena 非常喜欢解决复杂的程序设计题。最近,他整理了一个包含 nn 道题的题单,准备逐步解决。题目的难度分别为 a1,a2,,ana_1,a_2,\dots,a_n,并且任意两道题的难度都不同。

Gena 是一名经验丰富的程序员,可以解决任意难度的题。他每天按照固定策略解题。

对于每一天,Gena 有一个参数 mm,表示他当天愿意解决的题目的最低难度。每天,他都会从题单第一题开始到最后一题依次检查每道题,并执行如下操作:

  • 如果当前题已经解决过,则跳过;
  • 如果当前题难度小于 mm,则跳过;
  • 如果前两条都不满足,并且他当天还没有解决任何题,则解决当前题;
  • 如果前两条都不满足,并且他当天最后解决的题比当前题更简单,则解决当前题;
  • 如果以上条件都不满足,则跳过当前题。

换句话说,Gena 每天会按题单顺序扫描,并且当天解决的题目难度严格递增,同时只会解决尚未解决且难度至少为 mm 的题。

第一天,他愿意解决的最低难度为 tt。之后每天,这个最低难度会减少 ss。因此第 ii 天(从 11 开始),Gena 愿意解决难度至少为

ts(i1)t-s\cdot(i-1)

的题。Gena 会每天重复上述算法,直到解决所有题目。

Lesha 观察 Gena 很久了,他想了解 Gena 的解题策略。于是他有 qq 个询问。对于每个询问,需要判断:是否可以重新排列 Gena 的题单,使得难度为 did_i 的题恰好成为所有天累计解决顺序中的第 pip_i 道题。

注意,每个询问相互独立。不同询问中可以使用不同的题目排列顺序。

输入格式

第一行包含三个整数 n,t,sn,t,s1n2000001 \le n \le 2000001t,s1091 \le t,s \le 10^9),分别表示题目数量、第一天的最低难度、最低难度每天减少的数值。

第二行包含 nn 个互不相同的整数 a1,a2,,ana_1,a_2,\dots,a_n1ai1091 \le a_i \le 10^9ai<ai+1a_i<a_{i+1}),表示题目难度。难度按递增顺序给出。

第三行包含一个整数 qq1q2000001 \le q \le 200000),表示询问数量。

接下来 qq 行,每行包含两个整数 di,pid_i,p_i1pin1 \le p_i \le n),表示询问:是否可以通过重新排列题单,使难度为 did_i 的题成为第 pip_i 个被解决的题。保证每次询问中的 did_i 一定出现在题单中。

输出格式

对于每个询问,如果存在满足条件的题单排列,输出 Yes;否则输出 No

样例 #1

样例输入 #1

5 10 2
4 5 9 10 12
5
10 2
10 3
10 4
5 5
12 2

样例输出 #1

Yes
Yes
No
Yes
Yes

样例 #2

样例输入 #2

7 4 2
2 3 5 6 9 10 11
4
5 6
11 7
2 2
10 7

样例输出 #2

Yes
No
Yes
Yes

样例解释

考虑第一个样例。对于第二个询问,可以把题目重排为:

12 4 5 9 10

Gena 的解题过程如下:

  1. 第一天,最低难度 m=10m=10。题单第一题满足条件,Gena 立刻解决难度为 1212 的题。剩下的题中有一道难度为 1010 的题,但由于当天已经解决过难度 1212 的题,而 10<1210<12,所以他会跳过难度 1010 的题。因此第一天结束时,他只解决了难度为 1212 的题。
  2. 第二天,最低难度 m=8m=8。扫描题单时,他会跳过已解决的 1212,也会跳过难度小于 884,54,5。然后遇到难度 99 的题,因为当天还没有解题,所以解决它。下一题难度为 1010,且 10>910>9,所以也会解决。因此前两天后,他按顺序解决了 12,9,1012,9,10
  3. 第三天,最低难度为 m=6=1022m=6=10-2\cdot2,但所有难度至少为 66 的题都已经解决,所以这一天不解决任何题。
  4. 第四天,Gena 解决剩下的题。最终所有天累计的解题顺序为 12,9,10,4,512,9,10,4,5

在这个排列下,难度为 1010 的题恰好是累计解决顺序中的第 33 道题,因此第二个询问答案为 Yes

评分方式

测试数据包含 8 个测试组。只有通过该组以及若干指定的前置测试组,才能获得该组分数。

组别 分数 附加限制 nn 附加限制 qq 附加限制 aia_i 附加限制 tt 依赖组 备注
0 - - - - 样例
1 13 n8n \le 8 ai10a_i \le 10 t10t \le 10 -
2 10 - - 0,1
3 14 n500n \le 500 t10t \le 10
4 19 - 0-3
5 9 - q=1q=1 -
6 1 - t=1t=1
7 9 - s=109s=10^9
8 25 0-7 -