AT_abc291_b [ABC291B] Trimmed Mean
Description
[problemUrl]: https://atcoder.jp/contests/abc291/tasks/abc291_b
高橋君は体操の大会に参加しています。
大会では、$ 5N $ 人の審査員それぞれが高橋君の演技に対して評点をつけ、それらを元に次のように高橋君の得点が決定されます。
- 高い評点をつけた方から順に $ N $ 人の審査員による評点を無効にする。
- 低い評点をつけた方から順に $ N $ 人の審査員による評点を無効にする。
- 残りの $ 3N $ 人の審査員による評点の平均点を高橋君の得点とする。
より厳密には、審査員がつけた得点の多重集合 $ S $ ($ |S|=5N $) に対して次の操作を行って得られたものが高橋君の得点となります。
- 「$ S $ の最大の要素(複数ある場合はそのうちの $ 1 $ つ)を選び、$ S $ から取り除く」という操作を $ N $ 回繰り返す。
- 「$ S $ の最小の要素(複数ある場合はそのうちの $ 1 $ つ)を選び、$ S $ から取り除く」という操作を $ N $ 回繰り返す。
- $ S $ に残った $ 3N $ 個の要素の平均を高橋君の得点とする。
高橋君の演技に対する、$ i $ 人目 $ (1\leq\ i\leq\ 5N) $ の審査員の評点は $ X_i $ 点でした。 高橋君の得点を計算してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ X_1 $ $ X_2 $ $ \ldots $ $ X_{5N} $
Output Format
高橋君の得点を出力せよ。
なお、真の値との絶対誤差または相対誤差が $ 10^{-5} $ 以下であれば正解として扱われる。
Explanation/Hint
### 制約
- $ 1\leq\ N\leq\ 100 $
- $ 0\leq\ X_i\leq\ 100 $
- 入力はすべて整数
### Sample Explanation 1
$ N=1 $ であるので、評点が高い方と低い方からそれぞれ $ 1 $ 人ずつの審査員による評点を無効にします。 $ 1 $ 番高い評点をつけた審査員は $ 2 $ 人目 ($ 100 $ 点) であるため、これを無効にします。 また、$ 1 $ 番低い評点をつけた審査員は $ 1 $ 人目 ($ 10 $ 点) であるため、これも無効にします。 よって、最終的な平均点は $ \displaystyle\frac{20+50+30}{3}=33.333\cdots $ となります。 出力は、真の値との絶対誤差または相対誤差が $ 10^{-5} $ 以下であれば正解として扱われる事に注意してください。
### Sample Explanation 2
$ N=2 $ であるので、評点が高い方と低い方からそれぞれ $ 2 $ 人ずつの審査員による評点を無効にします。 $ 1,2 $ 番目に高い評点をつけた審査員は順に $ 10 $ 人目 ($ 100 $ 点), $ 9 $ 人目 ($ 99 $ 点) であるため、これを無効にします。 $ 1 $ 番低い評点をつけた審査員は $ 1,2,3 $ 人目 ($ 3 $ 点) の $ 3 $ 人がいるため、このうち $ 2 $ 人を無効とします。 よって、答えは $ \displaystyle\frac{3+4+5+6+7+8}{6}=5.5 $ となります。 $ 1 $ 番低い評点をつけた $ 3 $ 人のうちどの $ 2 $ 人を無効にしたかは、答えに影響しない事に注意してください。