#HT1011. 投资回报率

投资回报率

题目描述

小核桃最近被调到了聪明核桃的广告投放部门,他的主要工作就是在不同的渠道(抖音、B站、快手、微信、……)投放广告,已知现在有 nn 个渠道,编号从 11nn,第 ii 个渠道需要花费 aia_i 万元投放广告,同时,小核桃精确地预测出了在第 ii 个渠道投放广告能够获得的收益为 bib_i 万元。

现在小核桃需要选择一些渠道投放广告,对于第 ii 个渠道,他只能选择 “投放” 或者 “不投放”,如果投放第 ii 个渠道的广告,则必须投出 aia_i 万元的广告,然而同时也能获得 bib_i 万元的收益。同时,他必须投出至少 WW 万元的广告,以达到投放目标。数据保证所有的 aia_i 之和大于 WW,所以这个目标是肯定可以实现的。同时,投放广告的目的是要最大化我的投资回报率,如果我们用 ai\sum a_i 表示所有投放的广告的花费,用 bi\sum b_i 表示所有投放的广告带来的收益,则投资回报率表述为

ROI=biaiROI = \frac{ \sum b_i }{ \sum a_i }

请你求出:在 aiW\sum a_i \ge W 的前提下,投资回报率 ROIROI 的最大值。

输入格式

输入的第一行包含两个整数 nnWW1n,W10001 \le n,W \le 1000),以一个空格分隔,分别表示渠道数和至少需要投放的广告金额(单位:万元)。
接下来 nn 行,每行包含两个整数,以空格分隔,其中第 i+1i+1 行包含两个整数 aia_ibib_i1ai,bi100001 \le a_i,b_i \le 10000),分别表示投放第 ii 个渠道所需的广告费即对应的收益(单位:万元)。

输出格式

输出最大的投资回报率,保留有效数字到小数点后 33 位。

样例

3 1
1 1
2 3
3 4
1.500
3 15
20 21
10 11
30 31
1.067

样例解释

  • 样例1中,选择投放第 22 个广告可以获得最大投资回报率 32=1.500\frac{3}{2}=1.500
  • 样例2中,选择投放第 1+21+2 个广告可以获得最大投资回报率 21+1120+101.067\frac{21+11}{20+10} \approx 1.067

数据范围

  • 对于 20%20\% 的数据,n,W10,1ai,bi20n,W \le 10, 1 \le a_i,b_i \le 20
  • 对于 60%60\% 的数据,n,W100n,W \le 100
  • 对于 100%100\% 的数据,1n,W1000,1ai,bi100001 \le n,W \le 1000, 1 \le a_i,b_i \le 10000