#P16695. [CSPro 29] 垦田计划

[CSPro 29] 垦田计划

背景

洛谷的测试数据仅供民间交流使用,非官方测试数据。官方评测链接:https://www.cspro.org/

题目描述

顿顿总共选中了 nn 块区域准备开垦田地,由于各块区域大小不一,开垦所需时间也不尽相同。据估算,其中第 ii 块(1in1 \le i \le n)区域的开垦耗时为 tit_i 天。这 nn 块区域可以同时开垦,所以总耗时 tTotalt_{Total} 取决于耗时最长的区域,即:

$$\begin{aligned} t_{Total} = \max\{t_1, t_2, \cdots, t_n\} \end{aligned}$$

为了加快开垦进度,顿顿准备在部分区域投入额外资源来缩短开垦时间。具体来说:

  • 在第 ii 块区域每投入 cic_i 单位资源,便可将其开垦耗时缩短 11 天;
  • 耗时缩短天数以整数记,即第 ii 块区域投入资源数量必须是 cic_i 的整数倍;
  • 在第 ii 块区域最多可投入 ci×(tik)c_i \times (t_i - k) 单位资源,将其开垦耗时缩短为 kk 天;
  • 这里的 kk 表示开垦一块区域的最少天数,满足 0<kmin{t1,t2,,tn}0 < k \le \min\{t_1, t_2, \cdots, t_n\};换言之,如果无限制地投入资源,所有区域都可以用 kk 天完成开垦。

现在顿顿手中共有 mm 单位资源可供使用,试计算开垦 nn 块区域最少需要多少天?

输入格式

从标准输入读入数据。

输入共 n+1n + 1 行。

输入的第一行包含空格分隔的三个正整数 nnmmkk,分别表示待开垦的区域总数、顿顿手上的资源数量和每块区域的最少开垦天数。

接下来 nn 行,每行包含空格分隔的两个正整数 tit_icic_i,分别表示第 ii 块区域开垦耗时和将耗时缩短 11 天所需资源数量。

输出格式

输出到标准输出。

输出一个整数,表示开垦 nn 块区域的最少耗时。

4 9 2
6 1
5 1
6 2
7 1
5
4 30 2
6 1
5 1
6 2
7 1
2

提示

样例 1 解释

如下表所示,投入 55 单位资源即可将总耗时缩短至 55 天。此时顿顿手中还剩余 44 单位资源,但无论如何安排,也无法使总耗时进一步缩短。

ii 基础耗时 tit_i 缩减 11 天所需资源 cic_i 投入资源数量 实际耗时
11 66 11 55
22 55 ^ 00 ^
33 66 22
44 77 11 ^

样例 2 解释

投入 2020 单位资源,恰好可将所有区域开垦耗时均缩短为 k=2k = 2 天;受限于 kk,剩余的 1010 单位资源无法使耗时进一步缩短。

子任务

70%70\% 的测试数据满足:0<n,ti,ci1000 < n, t_i, c_i \le 1000<m1060 < m \le 10^6

全部的测试数据满足:0<n,ti,ci1050 < n, t_i, c_i \le 10^50<m1090 < m \le 10^9