11703. Призи


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

У певних змаганнях з програмування учасники нагороджуються футболками за такими правилами.

  • Усі учасники, які зайняли \(A\)-е місце або вище, отримують футболку.

  • Крім того, серед учасників, які зайняли місце між (\(A+1\)) і \(B\) (включно), \(C\) учасників, вибраних випадковим чином, отримують футболку.

У цьому конкурсі було 1000 учасників, і всі вони отримали різні рейтинги. Степан, який брав участь у цьому конкурсі, посів \(X\)-е місце.

Знайти ймовірність того, що він отримає футболку.

Формат вхідних даних

Вхідний потік містить цілі числа \(A,B,C,X\) (\(1 \le A < B \le 1000\), \(1 \le C \le B-A\), \(1 \le X \le 1000\))

Числа розділяються пропуском.

Формат вихідних даних

У вихідний потік виведіть відповідь. Ваш результат вважатиметься правильним, якщо абсолютна чи відносна помилка відповіді судді становитиме не більше \(10^{−6}\).

Примітка

До прикладу 1:

Він отримає футболку, якщо буде серед 20 учасників, вибраних випадковим чином із 470 учасників, які посіли між 31-м і 500-м місця, що відбувається з ймовірністю \(\frac{20}{470}=0,04255319\)....

Приклад вхідних даних

30 500 20 103

Приклад вихідних даних

0.042553191489

Приклад вхідних даних

50 500 100 1

Приклад вихідних даних

1.000000000000

Приклад вхідних даних

1 2 1 1000

Приклад вихідних даних

0.000000000000

Коментарі

Ще немає коментарів.