아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

좌석

시간 제한1.5초메모리 제한256 MB

요약
n개의 상금 값이 주어질 때, 각 좌석에서의 무작위 경합을 고려해 한 선수의 기대 상금이 최대가 되도록 좌석 확률분포를 정하는 문제이다.
난이도

어려움10점 중 8점

유형
확률, 수학, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

좌석 게임에는 좌석 nn개와 플레이어 nn명이 있다. ii번째 좌석에는 처음에 상금 aia_i달러가 놓여 있다. 이 상금은 ii번째 좌석을 차지하는 플레이어가 가져간다.

게임이 시작되기 전에 각 플레이어는 앉고 싶은 좌석 하나를 고른다. 게임이 시작되면 모든 플레이어가 자신이 고른 좌석을 향해 달려가서 그 좌석을 두고 다툰다. 어떤 좌석을 두고 다투는 플레이어들은 모두 같은 확률로 그 좌석에 앉아 상금을 가져간다고 가정한다. 다툼이 끝나면 그중 정확히 한 명이 그 좌석을 차지한다. 자신이 고른 좌석을 차지하지 못한 플레이어는 아무것도 얻지 못한다.

모든 플레이어가 동일한 고정 확률분포에서 자신의 좌석을 뽑는다고 하자. 이 분포를 최적으로 고를 때 플레이어 한 명이 얻는 기대 상금의 최댓값은 얼마인가?

다음 예를 보자. n=2n=2, a1=1a_1=1, a2=2a_2=2라 하자. 모든 플레이어가 "더 이득인" 좌석 22를 확률 11로 고르기로 하면 각자의 기대 상금은 12⋅2=1\frac{1}{2}\cdot 2=1달러이다. 그러나 좌석 11과 22에 각각 확률 13\frac{1}{3}과 23\frac{2}{3}을 배정하면 각 플레이어는 기대값으로 76\frac{7}{6}달러를 얻는다.

입력

첫째 줄에 정수 nn이 주어진다 (1≤n≤50001\leq n\leq 5000). 둘째 줄에 nn개의 정수 a1,…,ana_1,\ldots,a_n이 주어진다 (1≤ai≤10001\leq a_i\leq 1000). 이는 각 좌석에 배정된 상금을 나타낸다.

출력

확률분포를 최적으로 고를 때 플레이어 한 명이 얻는 기대 상금을 출력한다. 절대 오차 또는 상대 오차가 10−710^{-7} 이하이면 정답으로 인정된다.

예제1

  1. 예제 1

    입력
    3
    2 1 4
    
    예상 출력
    1.785911591670981