#P10260. [COCI 2023/2024 #5] Rolete

[COCI 2023/2024 #5] Rolete

题目背景

译自 COCI 2023/2024 Contest #5 T4「Rolete

题目描述

一个周六的下午,Luka 从午睡中醒来,想起今天有 COCI!在比赛前,他只需要做一件事情:拉起窗帘。

卢卡的房间里有 nn 个窗帘,其中第 ii 个窗帘距离窗户顶部下降了 aia_i 厘米。他可以通过两种方式拉起窗帘:

  • 他可以手动开始拉起任意一个窗帘。使用这种方法,他每拉起 11 厘米需要 tt 秒钟。
  • 他可以按下一个按钮,同时以相同的速度将所有窗帘同步拉起。

按下按钮时,窗帘的上升速度定义如下:如果所有窗帘都在上升,每个窗帘都会在 ss 秒内上升 11 厘米。如果 rr 个窗帘已经完全升起,这会减慢系统的速度。那么剩余的窗帘每上升 11 厘米需要 s+krs + k \cdot r 秒钟。

COCI 即将开始,Luka 希望尽快拉起他的窗帘。与此同时,他的兄弟 Marin 走进房间,问了他 qq 个问题:为了使窗帘下降的最大高度不超过 hh 厘米,你需要的最短时间是多少?Marin 对于每个问题都考虑窗帘的初始状态。

他们意识到在 COCI 之前没有足够的时间来考虑这个问题。幸运的是,这个问题也出现在这里!帮助他们解决它!

注意:Luka 总是将窗帘拉起一个整数值的厘米。

输入格式

第一行四个整数 n,t,s,k (1n,t,s105,0k105)n,t,s,k\ (1\le n,t,s\le 10^5,0\le k\le 10^5),分别表示窗帘个数,手动拉窗帘所需的时间,按下按钮拉窗帘所需的时间和同步上升的减慢因子。

第二行包含 nn 个整数 ai (0ai105)a_i\ (0\le a_i\le 10^5),表示初始窗帘的状态。

第三行包含一个整数 q (1q105)q\ (1\le q\le 10^5),表示问题个数。

第四行包含 qq 个整数 hi (0hi105)h_i\ (0\le h_i\le 10^5),表示最大窗帘高度。

输出格式

输出一行 qq 个整数,第 ii 个表示使得窗帘下降的最大高度不超过 hih_i 厘米所需的最短用时。

3 2 5 1
2 2 4
3
2 0 1

4 14 9

2 3 4 0
3 1
3
3 2 0

0 3 10

4 3 10 3
2 4 5 6
3
4 3 0

9 18 47

提示

样例解释 1

为了使所有窗帘的下降高度最多为 22 厘米,卢卡需要手动将第三个窗帘拉起 22 厘米。最快的方法是手动拉起它,这将花费他 44 秒钟。

如果所有窗帘都需要完全拉起,卢卡可以先手动将第三个窗帘拉起 22 厘米。然后,他可以按下按钮,让所有窗帘同时上升 22 厘米。总共需要的时间为 4+10=144 + 10 = 14 秒。

类似地,如果窗帘的下降高度最多为 11 厘米,卢卡会先手动将第三个窗帘拉起 22 厘米,然后将所有窗帘一起上升 11 厘米。拉起的总时间将为 99 秒。

子任务

Subtask Points Constraints
1 16 n,q,ai,hi100n,q,a_i,h_i\le 100
2 26 k=0k=0
3 32 q=1q=1
4 36 无额外限制