「価値」と呼ばれる値を持つN個の具材の合成をN-1回行ったあと、最後の1個の具材の価値の最大値を求める問題です。
提出
n = int(input())
v = list(map(int, input().split()))
v.sort()
ans = v[0]
for i in range(1, n):
ans = (ans+v[i])/2
print(ans)
途中で価値が小さい具材を一緒に入れてしまうと、具材の価値が下がる要因になってしまいます。
そのため、最初に小さいもの同士を入れ、新しく生成した具材と、次に小さい価値の具材を合わせます。
この作業をするためにvをソートし、for文を用いて「ans」を置き換えていきます。
最後にansを出力します。