잭팟
시간 제한1초메모리 제한512 MB
n개의 문 중 몇 개를 먼저 열어야 상금을 뽑을 확률과 줄어든 상금의 곱이 최대가 되는지 정하고, 그 최대 기대 상금을 출력한다.
문제
천둥처럼 재미있는 새 게임 쇼 '잭팟'이 전국의 텔레비전 화면에 등장해 큰 인기를 끌고 있다. 규칙은 단순하다. 여러 개의 문이 있고, 그중 하나 뒤에는 상금이, 나머지 모든 문 뒤에는 염소가 숨겨져 있다. 각 참가자는 문을 몇 개 열지 정한 뒤 문 하나를 골라 확인한다. 문을 하나 열 때마다 상금은 줄어든다. 문을 열어 상금을 찾아내면 그대로 가질 수 있다.
참가자는 그냥 찍는 데 만족하지 않고, 기댓값을 최대로 만드는 문의 개수를 알아내려 한다. 여기서 기댓값은 당첨 확률과 남은 상금을 곱한 값이다.
남은 상금 PR은 처음 상금 m, 연 문의 개수 d, 비율 계수 f의 함수이다. 즉,
PR = m − (d · f)2
문의 개수, 처음 상금, 비율 계수가 주어졌을 때, 기댓값을 최대로 하려면 문을 몇 개 열어야 하는지 구할 수 있는가?
입력
한 줄에 다음이 주어진다.
- 정수 n (1 ≤ n ≤ 1018), 문의 개수.
- 정수 m (1 ≤ m ≤ 1018), 처음 상금.
- 실수 f (0 < f ≤ 1), 비율 계수.
가장 값이 좋은 문은 언제나 하나뿐이다.
출력
한 줄에 다음을 출력한다.
- 실수 하나, 기대 지급액.
출력은 절대 오차 또는 상대 오차가 10−6 이하여야 한다.