luogu#P8508. 做不完的作业

做不完的作业

题目背景

高中的任务是非常艰巨的,要学习十门功课(浙江要学技术)。导致作业超级加倍,这一点在暑假就已经体现出来了。

作业的总量是一定的,但不同作业下发的时间是不一定的,导致每天都要花不同的时间应付作业。此时,如何保证睡眠是一个需要仔细考虑的问题。

题目描述

提示:如果你对题目内容有疑问,可以配合样例更好地阅读。

nn 个任务,第 ii 个任务需要 tit_i 的时间。Eric 要在若干天内依次完成这些任务。Eric 是一个专注的人,所以完成每个任务的时间必须连续

一天有 xx 的时间。由于 Eric 需要睡觉,所以 Eric 不能利用所有的时间。具体地:

  • Eric 每天必须睡觉
  • Eric 每天的睡觉的时间是连续的,且睡觉时间结束后,第二天恰好开始;
  • Eric i\boldsymbol i的睡觉时间总和不能少于 rxir\cdot x\cdot i 的时间。rr 是一个给定的实数,ii 是一个正整数。

Eric 想问你,至少需要多少天才能完成任务。

输入格式

第一行输入四个整数 n,x,p,qn,x,p,q,代表 r=pqr=\dfrac p q

接下来一行,输入 nn 个整数,第 ii 个代表 tit_i

输出格式

输出一个正整数,代表最小天数。可以证明,在下文限定的数据下,一定存在至少一个解。

3 5 1 3
1 2 2
2
2 10 4 10
9 1
3
10 2 1 2
1 1 1 1 1 1 1 1 1 1
10
见下发文件 task/task4.in
见下发文件 task/task4.ans
见下发文件 task/task5.in
见下发文件 task/task5.ans

提示

样例 1 解释

下面是一种可能的方案:

Eric 先在第一天做任务 1,总共消耗 11 的时间,用 44 时间睡觉,满足至少要 5×13=535\times \dfrac 1 3=\dfrac 5 3 的时间睡觉的要求。

Eric 再在第二天加班加点,完成剩下的任务,有 11 的时间睡觉。两天睡觉总量为 510×13=1035\ge 10\times \dfrac 1 3=\dfrac {10} 3,也是满足要求的。

样例 2 解释

Eric 试图在第一天完成任务 1,但假如要做就会熬夜,觉就不够睡。所以 Eric 第一天只能睡大觉。Eric 在第二天完成任务 1 就没有问题。

同时请注意,即使睡觉时间满足了要求,Eric 也不能在第二天就完成任务 2,因为 Eric 必须睡觉。所以 Eric 先睡到第三天,然后完成任务 2。可以证明不存在方案小于三天。

同时注意数据不保证 gcd(p,q)=1\gcd(p,q)=1

样例 3 解释

显然一天只能干一件活,所以要 1010 天。

样例 4 解释

该样例满足子任务 3 的限制条件。

样例 5 解释

该样例满足子任务 5 的限制条件。

数据规模与约定

本题捆绑测试。对于所有数据,保证 1n1051\le n\le 10^51ti<x1061\le t_i<x\le 10^61p<q1061\le p<q\le 10^6

$$\def\arraystretch{1.5} \begin{array}{|c|c|c|c|}\hline \bf 子任务 & \bf 分值 & n\le & \bf特殊性质 \\ \hline 1 & 10 & 3 & /\\\hline 2 & 20 & 10^3 & \bf A \\\hline 3 & 20 & / & \bf A\\\hline 4 & 20 & / & \bf B\\\hline 5 & 30 & / & /\\\hline \end{array} $$

特殊性质 A\bf Ai, tix+pq1\forall i,\ \dfrac{t_i}{x}+\dfrac{p}{q}\le 1

特殊性质 B\bf Bn×q106n\times q\le 10^6

为了减少评测量,本题开启子任务依赖。具体地,当且仅当前四个子任务全部通过时,子任务 5 才计分,否则子任务 5 计 00 分。