高中的任务是非常艰巨的,要学习十门功课(浙江要学技术)。导致作业超级加倍,这一点在暑假就已经体现出来了。
作业的总量是一定的,但不同作业下发的时间是不一定的,导致每天都要花不同的时间应付作业。此时,如何保证睡眠是一个需要仔细考虑的问题。
提示:如果你对题目下面描述内容不太理解,可以配合样例更好地阅读。
有 n 个任务,第 i 个任务需要 t_i 的时间。Eric 要在若干天内依次完成这些任务。Eric 是一个专注的人,所以完成每个任务的时间必须连续。
一天有 x 的时间。由于 Eric 需要睡觉,所以 Eric 不能利用所有的时间。具体地:
Eric 想问你,至少需要多少天才能完成任务。
第一行输入四个整数 n,x,p,q ,代表 r=\dfrac p q 。
接下来一行,输入 n 个整数,第 i 个代表 t_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
下面是一种可能的方案:
Eric 先在第一天做任务 1,总共消耗 1 的时间,用 4 时间睡觉,满足至少要 5\times \dfrac 1 3=\dfrac 5 3 的时间睡觉的要求。
Eric 再在第二天加班加点,完成剩下的任务,有 1 的时间睡觉。两天睡觉总量为 5\ge 10\times \dfrac 1 3=\dfrac {10} 3 ,也是满足要求的。
Eric 试图在第一天完成任务 1,但假如要做就会熬夜,觉就不够睡。所以 Eric 第一天只能睡大觉。Eric 在第二天完成任务 1 就没有问题。
同时请注意,即使睡觉时间满足了要求,Eric 也不能在第二天就完成任务 2,因为 Eric 必须睡觉。所以 Eric 先睡到第三天,然后完成任务 2。可以证明不存在方案小于三天。
同时注意数据不保证 \gcd(p,q)=1 。
显然一天只能干一件活,所以要 10 天。
对于所有数据,保证 1\le n\le 10^5 , 1\le t_i<x\le 10^6 , 1\le p<q\le 10^6 。
\def\arraystretch{1.5} \begin{array}{|c|c|c|c|}\hline \bf 测试点 & \bf 分值 & n\le & \bf特殊性质 \\ \hline 1-2 & 20 & 3 & /\\\hline 3-4 & 20 & 10^3 & \bf A \\\hline 5-6 & 20 & / & \bf A\\\hline 7-8 & 20 & / & \bf B\\\hline 9-10 & 20 & / & /\\\hline \end{array} 测 试 点 分 值 特 殊 性 质
特殊性质 \bf A : \forall i,\ \dfrac{t_i}{x}+\dfrac{p}{q}\le 1 。
特殊性质 \bf B : n\times q\le 10^6 。
为了减少评测量,本题开启子任务依赖。具体地,当且仅当前四个子任务全部通过时,子任务 5 才计分,否则子任务 5 计 0 分。