AT_past17_n ソフトウェアアップデート
Description
高橋君はソフトウェア $ 1 $ 、ソフトウェア $ 2 $ 、 $ \cdots $ 、ソフトウェア $ N $ と番号づけられた $ N $ 個のソフトウェアのアップデートを行おうとしており、
ソフトウェア $ i $ $ (1\leq i\leq N) $ のアップデートには $ T_i $ だけ時間がかかります。
高橋君はこれらのアップデートを行う順番を指定する事ができ、
コンピュータは時刻 $ 0 $ にアップデートを始め、 与えられた順番に従って $ 1 $ つずつアップデートを実行していきます。
すなわち、高橋君が $ i $ ( $ 1\leq i\leq N $ ) 番目にソフトウェア $ p_i $ のアップデートを実行するように指定した時、コンピュータは次のように動きます。
- 時刻 $ (T_{p_1}+T_{p_2}+\cdots+T_{p_{k-1}}) $ から時刻 $ (T_{p_1}+T_{p_2}+\cdots+T_{p_{k-1}}+T_{p_k}) $ までソフトウェア $ p_k $ のアップデートを行う。
高橋君はアップデートの実行中に状態を確認した時、 $ N $ 個のアップデート全体にかかる時間をなるべく正しく推定する事ができるように順番を定めたいと考えました。
ここで、アップデートの実行中は現在何番目のアップデートを実行しているかしか知ることができないため、
高橋君は時刻 $ t $ に $ k $ 番目のアップデートが行われていた時、アップデート全体にかかる時間を $ f(t)=\frac{N}{k-0.5}\cdot t $ と見積ります。
なお、 $ i $ 番目のアップデートが始まるちょうどその時刻には $ i $ 番目のアップデートを実行しているとみなされます。 すなわち、時刻 $ 0 $ には $ 1 $ 番目のアップデートが実行されているとみなされ、 ちょうど $ i $ 番目のアップデートが終了し $ i+1 $ 番目のアップデートが開始する時刻には $ i+1 $ 番目のアップデートが実行されている とみなされます。
アップデート全体にかかる時間を $ S\left(=\displaystyle\sum_{i=1}^N T_i\right) $ とし、 高橋君がアップデート全体にかかる時間を見積もる時刻 $ t $ が $ 0 $ 以上 $ S $ 未満の実数から連続一様分布に従って選ばれる時、 $ \lvert f(t)-S\rvert $ の期待値が最小となるように高橋君が順番を指定した時の $ \lvert f(t)-S\rvert $ の期待値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ T_1 $ $ T_2 $ $ \ldots $ $ T_N $
Output Format
高橋君が問題文のように順番を指定した時の $ \lvert f(t)-S\rvert $ の期待値を出力せよ。
なお、真の値との絶対誤差または相対誤差が $ 10^{-6} $ 以下であれば正解として扱われる。
Explanation/Hint
### Sample Explanation 1
アップデートにかかる時間は $ S=3+7=10 $ となります。
高橋君がアップデートの順番をソフトウェア $ 1\to 2 $ と指定した時、時刻 $ t $ ( $ 0\leq t