atcoder#ARC122B. [ARC122B] Insurance

[ARC122B] Insurance

配点 : 500500

問題文

すぬけくんは明日の運勢を占いました. その結果,NN 個のシナリオのうちどれか一つが等確率で発生し,そのうち ii 番目のシナリオでは AiA_i 円を失うことを知りました.

そこですぬけくんは,今日保険に入ることにしました. 保険会社に xx 円を支払ったとすると,AiA_i 円を失った場合には min(Ai,2x)\min(A_i,2x) 円が補填されます. ここで,xx として任意の非負実数を選ぶことができます.

すぬけくんは,最終的に自分が失う金額(=x+Aimin(Ai,2x)=x+A_i-\min(A_i,2x))の期待値を最小化したいです. この最小値を求めてください.

制約

  • 1N1051 \leq N \leq 10^5
  • 1Ai1091 \leq A_i \leq 10^9
  • 入力される値はすべて整数である

入力

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

NN

A1A_1 A2A_2 \cdots ANA_N

出力

答えを出力せよ. 絶対誤差または相対誤差が 10610^{-6} 以下ならば,正解と判定される.

3
3 1 4
1.83333333333333333333

x=1.5x=1.5 とするのが最適です. 1.51.5 円支払ったあと,以下の 33 つのシナリオが等確率で起こります.

  • シナリオ 11: 33 円失ったあと,min(3,2x)=3\min(3,2x)=3 円が補填される. 最終的にすぬけくんが失う金額は,x+A1min(A1,2x)=1.5+33=1.5x+A_1-\min(A_1,2x)=1.5+3-3=1.5 円である.
  • シナリオ 22: 11 円失ったあと,min(1,2x)=1\min(1,2x)=1 円が補填される. 最終的にすぬけくんが失う金額は,x+A2min(A2,2x)=1.5+11=1.5x+A_2-\min(A_2,2x)=1.5+1-1=1.5 円である.
  • シナリオ 33: 44 円失ったあと,min(4,2x)=3\min(4,2x)=3 円が補填される. 最終的にすぬけくんが失う金額は,x+A3min(A3,2x)=1.5+43=2.5x+A_3-\min(A_3,2x)=1.5+4-3=2.5 円である.

よって,失う金額の期待値は,(1.5+1.5+2.5)/3=1.833333(1.5+1.5+2.5)/3=1.833333\cdots です.

10
866111664 178537096 844917655 218662351 383133839 231371336 353498483 865935868 472381277 579910117
362925658.10000000000000000000