만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

블랙잭

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

요약
카드 n장과 한계 a, b가 주어질 때, 무작위로 섞인 카드에서 뽑기를 멈출 수 있는 블랙잭 게임에서 최선의 전략을 쓸 때 이길 확률을 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 확률, 조합론
정답자
아직 제출이 없습니다

문제

"망설이면 게임에서 지고, 단호하면 괜히 죽는다"는 말이 있다.

Calabash는 게임에서 지고 싶지도, 괜히 죽고 싶지도 않다. 하지만 그런 건 중요하지 않다. 게임을 살 돈이 없기 때문이다.

다행히 카지노의 뱅커인 Roundgod가 꿈을 이룰 기회를 준다. Roundgod는 Calabash가 블랙잭 한 판에서 이기면 게임을 사 주겠다고 약속한다. 블랙잭에는 점수가 적힌 카드 한 벌이 사용되며, 다음과 같이 진행된다. Roundgod가 수 aa를 주고 각 카드에 적힌 점수를 알려 준다. 그러면 Calabash는 다음 절차에 따라 카드를 뽑기 시작한다.

  1. 모든 카드로 이루어진 덱을 균일한 확률로 무작위하게 섞는다.
  2. Calabash는 덱에서 카드를 반복해서 뽑거나(카드를 뽑은 직후 그 카드의 점수를 바로 알 수 있다) 아무 때나 뽑기를 멈추겠다고 선언할 수 있다.
  3. 어떤 카드를 뽑은 뒤 Calabash가 뽑은 카드의 점수 합이 한도 bb를 넘으면 그는 즉시 진다.
  4. 그렇지 않고 Calabash가 뽑기를 멈추면, 뽑은 카드의 점수 합이 aa보다 클 때에만 이긴다.

Calabash는 좋아하는 게임을 얻기 위해 최적으로 플레이할 때 이길 확률을 알고 싶어 한다. 이 확률을 계산하도록 도와주자.

입력

첫째 줄에 세 정수 n,a,bn, a, b가 주어진다. (1≤n≤500,1≤a<b≤500)(1 \leq n \leq 500, 1 \leq a < b \leq 500) nn은 덱의 카드 수, aa는 Roundgod가 준 수, bb는 점수 합의 한도이다. 둘째 줄에 nn개의 정수 x1,x2,⋯ ,xnx_1, x_2, \cdots, x_n이 주어진다. (1≤xi≤500)(1 \leq x_i \leq 500) xix_i는 각 카드에 적힌 점수이다. ∑i=1nxi>b\sum_{i=1}^n x_i > b임이 보장된다.

출력

답을 절대 오차가 10−610^{-6} 이하가 되도록 출력한다.

예제2

  1. 예제 1

    입력
    5 2 4
    1 1 1 5 5
    
    예상 출력
    0.100000000000
    
  2. 예제 2

    입력
    5 2 4
    1 1 1 3 5
    
    예상 출력
    0.450000000000