#823. 合成大炮弹(1)

合成大炮弹(1)

题目描述

游乐场的充气城堡里有一门充气大炮,你可以操控这门大炮向前方的水池里发射一些小炮弹,每个炮弹的体积都是一个正整数。水池中只能同时存在一个炮弹;当你将另一个炮弹射入水池后,它们就会立即合成为一个新的大炮弹,其体积等同于这两个炮弹体积的平均值。

了解规则之后,你进入了充气城堡大玩特玩。你总共拥有 nn 枚炮弹可供发射,现在你需要合理安排发射顺序,使得所有炮弹发射完毕后,水池中留下的炮弹体积最大。求这个最大值。

输入格式

第一行:一个整数 nn,表示总共发射的炮弹数量;

第二行:nn 个整数 ViV_i,分别表示发射的每个炮弹的体积。

输出格式

一个浮点数,表示全部发射完毕后水池中炮弹的体积的最大值,保留3位小数。

样例

3
500 300 200
375

样例解释

可以先发射体积为 300300 的炮弹,再发射体积为 200200 的炮弹,合成一个体积为 300+2002=250\dfrac{300+200}{2}=250 的炮弹;最后发射体积为 500500 的炮弹,得到体积为 250+5002=375\dfrac{250+500}{2}=375 的炮弹。

数据规模

各测试点数据规模如下:

测试点 nn ViV_i
121-2 1n101≤n≤10 1Vi101≤V_i≤10
343-4 1n1031≤n≤10^3 1Vi1031≤V_i≤10^3
5105-10 1n1061≤n≤10^6 1Vi1091≤V_i≤10^9