Тройной прыжок
Тройной прыжок совершается следующим образом. Прыгун разгоняется, добегает до определенной отметки и совершает три последовательных прыжка. Победителем является тот, чья суммарная длина прыжков наибольшая.
Вы принимаете участие в соревновании и прыгаете последним. Все Ваши соперники уже совершили прыжки, поэтому их результаты известны.
Первый свой прыжок Вы уже совершили, его длина равна first. Длина каждого из оставшихся прыжков может с одинаковой вероятностью принимать любое значение из отрезка [lower, upper], и не обязательно быть целым. Вам необходимо вычислить вероятность того, что Вы займете i - ое место. Место, занятое Вами, равняется единице плюс количество соперников, которые прыгнули дальше Вас.
Технические условия
Входные данные
Состоит из нескольких тестов. Первая строка каждого теста содержит значения lower, upper, first (1 ≤ lower ≤ 1000, lower ≤ upper ≤ 1000, lower ≤ first ≤ upper) и количество Ваших соперников n (1 ≤ n ≤ 50). Вторая строка теста содержит n целых чисел от 1 до 3000 - длины тройных прыжков всех Ваших соперников.
Выходные данные
Для каждого теста в отдельной строке вывести n + 1 действительных чисел - соответственно вероятности того что Вы займете первое, второе, третье, ..., последнее место. Все вероятности следует выводить с 4 десятичными знаками.
Информация о задаче
Лимит времени: 1 секундаЛимит памяти: 64 MB
Баллы за пройденный тест: 10
Сложность: 0% 11/11
Классификация: Теория вероятностей
Пример
Пример входных данных1 2 1 4 1 2 3 4 1 10 5 8 1 2 3 5 10 11 12 19 |
Пример выходных данных0.5000 0.5000 0.0000 0.0000 0.0000 0.2222 0.6235 0.0556 0.0432 0.0556 0.0000 0.0000 0.0000 0.0000 |
| ← Заданная вероятность | Список задач | Простой футбол → |
