100 atcoder#ABC138C. [ABC138C] Alchemist

[ABC138C] Alchemist

题目描述

あなたは鍋と N N 個の具材を持っています。各具材は 価値 と呼ばれる実数の値を持ち、i i 個目 (1  i  N) (1\ \leq\ i\ \leq\ N) の具材の価値は vi v_i です。

2 2 個の具材を鍋に入れると、それらは消滅して新たに 1 1 個の具材が生成されます。この新たな具材の価値は元の 2 2 個の具材の価値を x, y x,\ y として (x + y) / 2 (x\ +\ y)\ /\ 2 であり、この具材を再び鍋に入れることもできます。

この具材の合成を N  1 N\ -\ 1 回行うと、最後に 1 1 個の具材が残ります。この具材の価値として考えられる最大の値を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N v1 v_1 v2 v_2 \ldots vN v_N

输出格式

最後に残る 1 1 個の具材の価値として考えられる最大の値を表す小数 (または整数) を出力せよ。

出力は、ジャッジの出力との絶対誤差または相対誤差が 105 10^{-5} 以下のとき正解と判定される。

题目大意

你有n个数字,每次可以将任意两个数替换成它们的平均数,求最后剩下的一个数字的最大值。

2
3 4
3.5
3
500 300 200
375
5
138 138 138 138 138
138

提示

制約

  • 2  N  50 2\ \leq\ N\ \leq\ 50
  • 1  vi  1000 1\ \leq\ v_i\ \leq\ 1000
  • 入力中の値はすべて整数である。

Sample Explanation 1

はじめに持っている具材が 2 2 個の場合、それらをともに鍋に入れるほかありません。価値 3, 4 3,\ 4 の具材から合成される具材の価値は (3 + 4) / 2 = 3.5 (3\ +\ 4)\ /\ 2\ =\ 3.5 です。 なお、3.50001, 3.49999 などと出力しても正解となります。

Sample Explanation 2

今回ははじめに 3 3 個の具材を持っており、一度目の合成で鍋にどの具材を入れるかに選択の余地があります。選択肢は次の 3 3 通りです。 - 価値 500, 300 500,\ 300 の具材を入れ、価値 (500 + 300) / 2 = 400 (500\ +\ 300)\ /\ 2\ =\ 400 の具材を合成する。この場合、次の合成ではこれと価値 200 200 の具材を鍋に入れることになり、価値 (400 + 200) / 2 = 300 (400\ +\ 200)\ /\ 2\ =\ 300 の具材が合成される。 - 価値 500, 200 500,\ 200 の具材を入れ、価値 (500 + 200) / 2 = 350 (500\ +\ 200)\ /\ 2\ =\ 350 の具材を合成する。この場合、次の合成ではこれと価値 300 300 の具材を鍋に入れることになり、価値 (350 + 300) / 2 = 325 (350\ +\ 300)\ /\ 2\ =\ 325 の具材が合成される。 - 価値 300, 200 300,\ 200 の具材を入れ、価値 (300 + 200) / 2 = 250 (300\ +\ 200)\ /\ 2\ =\ 250 の具材を合成する。この場合、次の合成ではこれと価値 500 500 の具材を鍋に入れることになり、価値 (250 + 500) / 2 = 375 (250\ +\ 500)\ /\ 2\ =\ 375 の具材が合成される。 よって、最後に残る 1 1 個の具材の価値として考えられる最大の値は 375 375 です。 なお、375.0 などと出力しても正解となります。