传统题 1000ms 512MiB

饮品调制

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

你想调制一份甜度恰到好处的饮品给你的朋友们品尝。

有 nn 种原料可用于调制饮品。第 ii 种原料存量有 viv_i 升,每升含有 sis_i 克糖分。你可以自由选择原料加入饮品,但每种原料的使用量不得超过其剩余存量。也就是说,假设第 ii 种原料选用 kik_i 升,应当有 0≤ki≤vi0 \le k_i \le v_i,kik_i 可以取 00 到 viv_i 之间的任何数字(包括小数)。

一份甜度恰到好处的饮品需要保证甜度恰好为 tt。最终你调制得到的饮品甜度将为

$$\frac{\sum_{i=1}^{n} k_i \cdot s_i}{\sum_{i=1}^{n} k_i}$$

为了让更多的朋友喝到饮品,请问最多能调制出多少升甜度恰到好处的饮品?如果无法调制出甜度恰到好处的饮品,则认为答案是 00。

输入格式

第一行,两个整数 nn,tt,分别表示原料种类数量、恰到好处的甜度。

接下来 nn 行,每行两个整数 viv_i,sis_i,分别表示第 ii 种原料的存量体积,每升含有的糖分质量。

输出格式

一行,一个小数,表示能调制出的甜度恰到好处的饮品最大体积,保留三位小数。

样例 #1

样例输入 #1

4 2
6 1
5 2
8 5
1 0

样例输出 #1

14.667

样例 #2

样例输入 #2

2 5
3 4
5 3

样例输出 #2

0.000

提示

【关于求和符号 Σ\Sigma 的说明】

∑\sum 读作"西格玛",它的作用就是把一串数加起来,是一种简写。以本题甜度公式的分子为例:

$$\sum_{i=1}^{n} k_i \cdot s_i = k_1 \cdot s_1 + k_2 \cdot s_2 + \cdots + k_n \cdot s_n$$
  • ∑\sum 下面的 i=1i=1 表示"从第 11 种原料开始";
  • ∑\sum 上面的 nn 表示"一直加到第 nn 种原料为止";
  • ∑\sum 后面写的 ki⋅sik_i \cdot s_i 就是每一项要加的东西(这里第 ii 项是"第 ii 种原料用的升数 × 它的含糖量")。

如果 n=3n=3,那么 ∑i=13ki⋅si\sum_{i=1}^{3} k_i \cdot s_i 就是 k1s1+k2s2+k3s3k_1s_1 + k_2s_2 + k_3s_3,也就是"第 1 种原料的糖分 + 第 2 种原料的糖分 + 第 3 种原料的糖分"。

所以整条公式的意思其实很简单:

$$\text{甜度} = \frac{\text{所有原料含的糖分加起来(克)}}{\text{所有原料的体积加起来(升)}}$$
  • 分子 ∑i=1nki⋅si\sum_{i=1}^{n} k_i \cdot s_i:这杯饮品里一共放了多少克糖;
  • 分母 ∑i=1nki\sum_{i=1}^{n} k_i:这杯饮品一共多少升。

把它读成"总糖分 ÷ 总升数",这道题就好理解了。

【样例解释 1】

四种原料分别是:66 升含糖 11、55 升含糖 22、88 升含糖 55、11 升含糖 00。

如果全部倒进去,甜度是 $\frac{6\times1+5\times2+8\times5+1\times0}{6+5+8+1}=\frac{56}{20}=2.8$,比要求的 22 高,所以要少放一些含糖多的原料。

最优做法是:含糖 00、11、22 的原料全部倒入(共 1212 升,含糖 1616 克),再倒入 83≈2.667\frac{8}{3}\approx 2.667 升含糖 55 的原料(含糖 403\frac{40}{3} 克),此时

$$\frac{16+\frac{40}{3}}{12+\frac{8}{3}}=\frac{\frac{88}{3}}{\frac{44}{3}}=2$$

甜度恰好为 22,总体积为 12+83=14.66712+\frac{8}{3}=14.667 升。

【样例解释 2】

两种原料每升含糖分别是 44 克和 33 克,都低于要求的甜度 55 克/升。无论怎么混合,甜度都不会超过 44,达不到 55,所以答案是 0.0000.000。

【数据范围】

对于 40%40\% 的测试点,保证 n=2n = 2。

对于所有测试点,保证 1≤n≤20001 \le n \le 2000,0≤t≤2000 \le t \le 200,1≤vi≤1001 \le v_i \le 100,0≤si≤2000 \le s_i \le 200。

GESP202609

未参加
状态
已结束
规则
IOI
题目
12
开始于
2026-9-13 17:15
结束于
2026-9-22 1:15
持续时间
200 小时
主持人
参赛人数
10