Kazun の競プロ記録

競技プログラミングに関する様々な話題を執筆します.

AtCoder Beginner Contest 242 A問題 T-shirt

問題

atcoder.jp

提出解答

atcoder.jp

問題の概要

あるプログラミングコンテストでは, 以下のようにして参加者に T シャツをプレゼントする.

  • 上位  A 位以上の人全員
  • 上位  A+1 位以下, 上位  B 位以上の人から一様に抽選で  C

同率がないとき,  X 位の人が T シャツを貰える確率を求めよ.

制約

  •  1 \leq A \leq B \leq 1000
  •  1 \leq C \leq B-A
  •  1 \leq X \leq 1000

解法

  •  X \leq A ならば必ず貰える.
  •  A \lt X \leq B ならば抽選.
  •  B \lt X ならば必ず貰えない.

である. よって, 求めるべき確率は,

 \begin{cases} 1 & (X \leq A) \\\\ \dfrac{C}{B-A} & (A \lt X \leq B) \\\\ 0 & (B \lt X) \end{cases}

となる.