블랙잭
시간 제한4초메모리 제한256 MB
카드 n장과 한계 a, b가 주어질 때, 무작위로 섞인 카드에서 뽑기를 멈출 수 있는 블랙잭 게임에서 최선의 전략을 쓸 때 이길 확률을 구합니다.
문제
"망설이면 게임에서 지고, 단호하면 괜히 죽는다"는 말이 있다.
Calabash는 게임에서 지고 싶지도, 괜히 죽고 싶지도 않다. 하지만 그런 건 중요하지 않다. 게임을 살 돈이 없기 때문이다.
다행히 카지노의 뱅커인 Roundgod가 꿈을 이룰 기회를 준다. Roundgod는 Calabash가 블랙잭 한 판에서 이기면 게임을 사 주겠다고 약속한다. 블랙잭에는 점수가 적힌 카드 한 벌이 사용되며, 다음과 같이 진행된다. Roundgod가 수 를 주고 각 카드에 적힌 점수를 알려 준다. 그러면 Calabash는 다음 절차에 따라 카드를 뽑기 시작한다.
- 모든 카드로 이루어진 덱을 균일한 확률로 무작위하게 섞는다.
- Calabash는 덱에서 카드를 반복해서 뽑거나(카드를 뽑은 직후 그 카드의 점수를 바로 알 수 있다) 아무 때나 뽑기를 멈추겠다고 선언할 수 있다.
- 어떤 카드를 뽑은 뒤 Calabash가 뽑은 카드의 점수 합이 한도 를 넘으면 그는 즉시 진다.
- 그렇지 않고 Calabash가 뽑기를 멈추면, 뽑은 카드의 점수 합이 보다 클 때에만 이긴다.
Calabash는 좋아하는 게임을 얻기 위해 최적으로 플레이할 때 이길 확률을 알고 싶어 한다. 이 확률을 계산하도록 도와주자.
입력
첫째 줄에 세 정수 가 주어진다. 은 덱의 카드 수, 는 Roundgod가 준 수, 는 점수 합의 한도이다. 둘째 줄에 개의 정수 이 주어진다. 는 각 카드에 적힌 점수이다. 임이 보장된다.
출력
답을 절대 오차가 이하가 되도록 출력한다.