倒水
题目描述:
有一个大水缸,里面的水温度为 T 单位,体积为 C 升。另有 n 杯水,每杯水有温度 $t_i$ 单位与体积 $c_i$ 升。现在要把大水缸的水倒入 n 杯水中使得 n 杯水的温度相同,请问这是否可能?如果可能,请求出可行的最高的温度,保留 4 位小数。
注意:一杯温度为 $t_1$ 单位,体积为 $c_1$ 升的水与另一杯温度为 $t_2$ 单位,体积为 $c_2$ 升的水混合后温度变为
$(t_1×c_1+t_2×c_2)/(c_1+c_2)$,体积变为 $c_1+c_2$。
输入格式:
第一行一个整数 q,表示有 q 组测试数据。
对于每组数据:
* 第一行一个整数 n。 第二行两个整数 T,C。 接下来 n 行每行两个整数 $t_i,c_i$。
输出格式:
如果非法,输出 `Impossible`。 否则第一行输出 `Possible`,第二行输出一个保留 4 位小数的实数表示答案。
数据范围:
对于其中 20% 的数据,$T \le t_i$。
对于其中 30% 的数据,$t_i \le T$。
对于 100% 的数据,$1 \le q \le 10$,$1 \le n \le 10^5$,$0 \le T \le 10^4$,$0 \le C \le 10^9$,$0 \le t_i,c_i \le 10^4$。
样例输入:
(双击复制)1 3 10 2 20 1 25 1 30 1
样例输出:
(双击复制)Possible 20.0000时间限制: 1000ms
空间限制: 256MB
来源: 温州市计算机学会