编程题
### 问题描述 小蓝决定邀请他的朋友们参加一个茶会。 为此,他准备了一个容量为 $w$ 毫升的大茶壶和 $2n$ 个茶杯,每个茶杯都是为小蓝的一个朋友准备的。第 $i$ 个茶杯最多可以装 $a_i$ 毫升水。 原来,在小蓝的朋友中,正好有 $n$ 个男孩和 $n$ 个女孩,他们都要来参加茶会。为了让大家高兴,小蓝决定按如下方法倒茶水: - 小蓝最多能给所有朋友们一共倒入 $w$ 毫升水,因为这是茶壶的最大容量; - 小蓝给每个女孩倒同样多的水; - 小蓝给每个男孩倒同样多的水; - 如果每个女孩得到 $x$ 毫升水,那么每个男孩得到 $2x$ 毫升水。 换句话说,每个男孩得到的水应该是每个女孩得到的水的两倍。 小蓝非常善良、有礼貌,因此他想把倒给朋友的水的总量最大化,请你输出小蓝能给朋友倒水的最大总量。 ### 输入格式 输入的第一行包含两个整数 $n$ 和 $w$。 输入的第二行包含 $2n$ 个整数序列 $a_i$,表示小蓝 $2n$ 个茶杯的容量。 ### 输出格式 输出一个实数表示答案。 **注意答案保留四位小数**。 ### 样例输入 ```text 2 4 1 1 1 1 ``` ### 样例输出 ```text 3.0000 ``` ### 说明 前两个杯子用于给女孩倒水,后两个杯子用于给男孩倒水。 每个女孩倒水 $0.5$ 毫升,每个男孩倒水 $1$ 毫升。 ### 评测数据规模 保证对于所有测试数据有: $1 \leq n \leq 10^5,1\le w,a_i\le10^9$ 。
查看答案
赣ICP备20007335号-2