A7605 | [ABC138C] Alchemist
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
你有一个锅和 $N$ 个食材。每个食材都有一个被称为“价值”的实数,第 $i$ 个食材的价值为 $v_i$。
将两个食材放入锅中后,这两个食材会消失,并生成一个新的食材。这个新食材的价值为原来两个食材的价值 $x, y$ 的平均值,即 $(x + y) / 2$。这个新食材也可以再次放入锅中进行合成。
经过 $N-1$ 次这样的合成后,最后只会剩下一个食材。请你求出最后剩下的这个食材的最大可能价值。
将两个食材放入锅中后,这两个食材会消失,并生成一个新的食材。这个新食材的价值为原来两个食材的价值 $x, y$ 的平均值,即 $(x + y) / 2$。这个新食材也可以再次放入锅中进行合成。
经过 $N-1$ 次这样的合成后,最后只会剩下一个食材。请你求出最后剩下的这个食材的最大可能价值。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $v_1$ $v_2$ $\ldots$ $v_N$
> $N$ $v_1$ $v_2$ $\ldots$ $v_N$
输出格式
输出最后剩下的一个食材的最大可能价值,可以是小数或整数。
当你的输出与标准答案的绝对误差或相对误差不超过 $10^{-5}$ 时,将被判定为正确。
当你的输出与标准答案的绝对误差或相对误差不超过 $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$。另外,输出
## 样例解释 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$。另外,输出
- $2 \leq N \leq 50$
- $1 \leq v_i \leq 1000$
- 输入中的所有值均为整数。
## 样例解释 1
如果最开始只有 $2$ 个食材,只能将它们一起放入锅中。价值为 $3, 4$ 的食材合成后,新食材的价值为 $(3 + 4) / 2 = 3.5$。另外,输出
3.50001、3.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 等也会被判定为正确。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?