#774. Alchemist

Alchemist

问题陈述

你有一口锅和 NN 种配料。每种配料都有一个名为 value 的实数参数, ii (一种配料) (1iN)(1 \leq i \leq N) 的值是 viv_i

当你在锅中放入两种原料时,它们会消失,形成一种新的原料。新食材的值是 (x+y)/2(x + y) / 2 其中 xxyy 是消耗掉的食材的值。

以这种方式制作食材 N1N-1 次后,最终会得到一种食材。求这种食材的最大可能值。

限制因素

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

输入

输入内容由标准输入法提供,格式如下:

NN v1v_1 v2v_2 \ldots vNv_N

输出

打印一个十进制数(或整数),代表最后一种成分的最大可能剩余值。

当您的输出与法官输出的绝对或相对误差不超过 10510^{-5} 时,您的输出将被判定为正确。

输入样本 1

2
3 4

样本输出 1

3.5

如果一开始有两种原料,那么唯一的选择就是把两种原料都放入锅中。由值为 3344 的配料产生的配料值是 (3+4)/2=3.5(3 + 4) / 2 = 3.5

也接受打印 3.500013.49999 等。

输入样本 2

3
500 300 200

输出示例 2

375

这次你有三种原料,你可以选择在第一种成分中使用什么。有三种可能的选择:

  • 使用数值为 500500300300 的原料制作数值为 (500+300)/2=400(500 + 300) / 2 = 400 的原料。下一次合成将使用这个成分和数值为 200200 的成分,得到数值为 (400+200)/2=300(400 + 200) / 2 = 300 的成分。
  • 使用数值为 500500200200 的原料制作数值为 (500+200)/2=350(500 + 200) / 2 = 350 的原料。下一次合成将使用该原料和数值 300300 的原料,得到数值 (350+300)/2=325(350 + 300) / 2 = 325 的原料。
  • 使用数值为 300300200200 的原料制作数值为 (300+200)/2=250(300 + 200) / 2 = 250 的原料。下一次合成将使用该原料和数值为 500500 的原料,得到数值为 (250+500)/2=375(250 + 500) / 2 = 375 的原料。

因此,最后剩下的成分的最大可能值是 375375

打印 "375.0 "等也将被接受。

输入样本 3

5
138 138 138 138 138

输出示例 3

138