https://atcoder.jp/contests/abc138/tasks/abc138_c
解説
https://atcoder.jp/contests/abc138/submissions/7014597
abcの具材があったときに、((a+b)/2+c)/2=a/4+b/4+c/2のような場合が考えられる。
なるべく、分母が大きいものは、なるべく小さい数にあてるのがいい。
そして、早く合成に使うと分母が大きくなる。
ここからはエスパーだが、まだ300点問題なので、ソートして、小さい順から順番に合成させていく。
int N; double v[50]; //--------------------------------------------------------------------------------------------------- void _main() { cin >> N; rep(i, 0, N) cin >> v[i]; sort(v, v + N); double ans = v[0]; rep(i, 1, N) ans = (ans + v[i]) / 2; printf("%.10f\n", ans); }