测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7605. [ABC138C] Alchemist

编程题 普及-
知识点

题目描述

你有一个锅和 $N$ 个食材。每个食材都有一个被称为“价值”的实数,第 $i$ 个食材的价值为 $v_i$。

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

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

输入格式

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

> $N$ $v_1$ $v_2$ $\ldots$ $v_N$

输出格式

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

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

输入输出样例

输入 #1
2
3 4
输出 #1
3.5
输入 #2
3
500 300 200
输出 #2
375
输入 #3
5
138 138 138 138 138
输出 #3
138

说明/提示

## 限制条件

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

## 样例解释 1

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

## 样例解释 2

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

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

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