CF954E Water Taps
题目描述
有 $n$ 个水龙头同时向同一个容器注水。第 $i$ 个水龙头每秒可以调节流量为 $0$ 到 $a_i$ 毫升(流量可以为实数)。第 $i$ 个水龙头流出的水的温度为 $t_i$。
如果对于每个 $i$,你将第 $i$ 个水龙头的流量设置为每秒 $x_i$ 毫升,那么最终混合后的水温为
$$
\frac{\sum_{i=1}^n x_i t_i}{\sum_{i=1}^n x_i}
$$
(如果 $\sum_{i=1}^n x_i = 0$,为避免除以零,规定此时混合水温为 $0$)。
你需要调节所有水龙头的流量,使得最终混合水温恰好为 $T$。在满足混合水温为 $T$ 的前提下,求每秒最多能获得多少毫升的水。
输入格式
第一行包含两个整数 $n$ 和 $T$($1 \leq n \leq 200000$,$1 \leq T \leq 10^6$),分别表示水龙头的数量和期望的混合水温。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 10^6$),其中 $a_i$ 表示第 $i$ 个水龙头每秒最大流量。
第三行包含 $n$ 个整数 $t_1, t_2, \ldots, t_n$($1 \leq t_i \leq 10^6$),其中 $t_i$ 表示第 $i$ 个水龙头流出的水的温度。
输出格式
输出在混合水温恰好为 $T$ 的前提下,每秒最多能获得的水量。如果无法获得温度为 $T$ 的水,则输出 $0$。
你的答案如果与标准答案的绝对误差或相对误差不超过 $10^{-6}$,则视为正确。
说明/提示
由 ChatGPT 4.1 翻译