#ATabc138c. [ABC138C] Alchemist

[ABC138C] Alchemist

AT_abc138_c [ABC138C] Alchemist

题目描述

你有一个锅和 NN 个食材。每个食材都有一个被称为“价值”的实数,第 ii 个食材的价值为 viv_i

将两个食材放入锅中后,这两个食材会消失,并生成一个新的食材。这个新食材的价值为原来两个食材的价值 x,yx, y 的平均值,即 (x+y)/2(x + y) / 2。这个新食材也可以再次放入锅中进行合成。

经过 N1N-1 次这样的合成后,最后只会剩下一个食材。请你求出最后剩下的这个食材的最大可能价值。

输入格式

输入通过标准输入给出,格式如下:

NN v1v_1 v2v_2 \ldots vNv_N

输出格式

输出最后剩下的一个食材的最大可能价值,可以是小数或整数。

当你的输出与标准答案的绝对误差或相对误差不超过 10510^{-5} 时,将被判定为正确。

样例 1

输入

2
3 4

输出

3.5

样例 2

输入

3
500 300 200

输出

375

样例 3

输入

5
138 138 138 138 138

输出

138

说明/提示

限制条件

  • 2N502 \leq N \leq 50
  • 1vi10001 \leq v_i \leq 1000
  • 输入中的所有值均为整数。

样例解释 1

如果最开始只有 22 个食材,只能将它们一起放入锅中。价值为 3,43, 4 的食材合成后,新食材的价值为 (3+4)/2=3.5(3 + 4) / 2 = 3.5。另外,输出 3.500013.49999 等也会被判定为正确。

样例解释 2

这次最开始有 33 个食材,第一次合成时可以选择放入锅中的食材。选择有以下 33 种情况:

  • 将价值为 500,300500, 300 的食材放入锅中,合成的新食材价值为 (500+300)/2=400(500 + 300) / 2 = 400。接下来只能将它与价值为 200200 的食材合成,得到 (400+200)/2=300(400 + 200) / 2 = 300
  • 将价值为 500,200500, 200 的食材放入锅中,合成的新食材价值为 (500+200)/2=350(500 + 200) / 2 = 350。接下来只能将它与价值为 300300 的食材合成,得到 (350+300)/2=325(350 + 300) / 2 = 325
  • 将价值为 300,200300, 200 的食材放入锅中,合成的新食材价值为 (300+200)/2=250(300 + 200) / 2 = 250。接下来只能将它与价值为 500500 的食材合成,得到 (250+500)/2=375(250 + 500) / 2 = 375

因此,最后剩下的一个食材的最大可能价值为 375375。另外,输出 375.0 等也会被判定为正确。

由 ChatGPT 4.1 翻译