luogu#P10438. [JOISC 2024 Day3] 塔楼

[JOISC 2024 Day3] 塔楼

题目描述

IOI Tower 是一座极其高的塔楼,配备了一条用于上升的楼梯。这个楼梯由 1010010^{100} 个台阶组成,从底部开始依次编号为第 00 级、第 11 级,依此类推。JOI 君目前在第 00 级,并打算爬楼梯。JOI 君可以通过以下两种方式上楼,禁止下楼。

  • 上升 11 级。这个动作需要 AA 秒。
  • 从当前级别跳到上方 DD 级,跳过中间的台阶。这个动作需要 BB 秒。

目前,楼梯的几个位置正在进行施工,正在施工的台阶不能踩上去。具体来说,有 NN 处正在进行施工,第 ii 处施工(1iN1 \leq i \leq N)正在进行的台阶为 LiL_iRiR_i

IOI Tower 有 QQ 个房间,编号从 11QQ。人们可以从楼梯的第 XjX_j 级进入第 jj 个房间(1jQ1 \leq j \leq Q)。因此,JOI 君决定确定他是否可以到达每个房间,如果可能的话,以最短时间需要多少秒到达。

给出关于 JOI 君、施工和房间的信息,创建一个程序,确定 JOI 君是否可以到达第 jj 个房间(1jQ1 \leq j \leq Q),如果可能的话,计算需要的最短时间。

输入格式

从标准输入读取以下数据。

  • NN QQ
  • DD AA BB
  • L1L_1 R1R_1
  • L2L_2 R2R_2
  • ...
  • LNL_N RNR_N
  • X1X_1
  • X2X_2
  • ...
  • XQX_Q

输出格式

输出 QQ 行,在第 jj 行(1jQ1 \leq j \leq Q)输出 JOI 君到达第 XjX_j 级台阶所需的最少秒数;如果无法到达,则输出 1-1

3 1
4 10 35
4 5
10 12
14 14
13
120
5 10
10 1 9
7 11
25 32
37 38
43 44
50 52
6
12
18
24
30
36
42
48
54
60
6
11
17
22
-1
33
-1
44
-1
55

提示

样例解释 1

JOI 君可以按照以下步骤在 120120 秒内到达楼梯的第 1313 阶:

  • 从第 00 阶到第 11 阶上升。此操作需要 1010 秒。
  • 从第 11 阶到第 22 阶上升。此操作需要 1010 秒。
  • 从第 22 阶到第 33 阶上升。此操作需要 1010 秒。
  • 从第 33 阶跳到第 77 阶,跳过中间的台阶。此操作需要 3535 秒。
  • 从第 77 阶到第 88 阶上升。此操作需要 1010 秒。
  • 从第 88 阶到第 99 阶上升。此操作需要 1010 秒。
  • 从第 99 阶跳到第 1313 阶,跳过中间的台阶。此操作需要 3535 秒。

由于无法在小于 120120 秒内到达第 1313 阶楼梯,输出为 120120

这个样例输入满足子任务 1,2,41,2,4 的约束条件。

样例解释 2

这个样例输入满足子任务 1,2,41,2,4 的约束条件。

约束条件

  • 1N200,0001 \leq N \leq 200,000
  • 1Q200,0001 \leq Q \leq 200,000
  • 1D10121 \leq D \leq 10^{12}
  • 1A1,000,0001 \leq A \leq 1,000,000
  • 1B1,000,0001 \leq B \leq 1,000,000
  • 1LiRi10121 \leq L_i \leq R_i \leq 10^{12}1iN1 \leq i \leq N
  • Ri+1<Li+1R_{i}+1 < L_{i+1}1iN11 \leq i \leq N-1
  • 1Xj10121 \leq X_j \leq 10^{12}1jQ1 \leq j \leq Q
  • 给定值均为整数。

子任务

  1. (5 分)Ri1,000,000R_i \leq 1,000,0001iN1 \leq i \leq N),Xj1,000,000X_j \leq 1,000,0001jQ1 \leq j \leq Q
  2. (38 分)N2,000N \leq 2,000Q2,000Q \leq 2,000
  3. (25 分)A=1A = 1B=DB = D
  4. (32 分)无额外约束。