Вероятность личного рекорда на спартакиаде
Условие
На школьной спартакиаде результаты забегов собирают по отдельным группам участников. В одной строке отчёта указаны дистанция, число участников группы и число участников, установивших личный рекорд.
У некоторых групп число личных рекордов ещё не внесено в протокол. В таком случае в третьем столбце стоит значение -1; такие строки не учитываются при расчёте.
Для каждой запрошенной дистанции требуется найти вероятность того, что случайно выбранный участник среди всех участников групп с известными результатами на этой дистанции установил личный рекорд. Если для дистанции есть группы с номерами j, числом участников m_j и числом личных рекордов r_j, то используется формула полной вероятности:
P(рекорд) = Σ ((m_j / M) · (r_j / m_j)),
где M = Σ m_j, а сумма берётся только по строкам с известным числом рекордов. Все запросы гарантированно имеют хотя бы одну строку с известным числом рекордов.
Каждую вероятность следует округлить до четырёх знаков после десятичной точки по обычному правилу: если пятый знак после точки не меньше 5, четвёртый знак увеличивается на 1. При равенстве численных значений вероятностей для разных запросов каждый ответ всё равно выводится в отдельной строке в порядке запросов.
Формат ввода
В первой строке записаны два целых числа n и q — число строк отчёта и число запросов.
В следующих n строках записаны три целых числа d, m, r:
d— длина дистанции в метрах;m— число участников группы;r— число участников с личным рекордом или-1, если результат ещё не внесён.
В следующих q строках записано по одному целому числу x — дистанция очередного запроса.
Формат вывода
Выведите q строк. В строке с номером запроса выведите искомую вероятность для соответствующей дистанции ровно с четырьмя знаками после десятичной точки.
Ограничения
1 ≤ n ≤ 2000.
1 ≤ q ≤ 100.
1 ≤ d, x ≤ 10000.
1 ≤ m ≤ 10000.
r = -1 или 0 ≤ r ≤ m.
Для каждой запрошенной дистанции существует хотя бы одна строка с этой дистанцией и значением r, не равным -1.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт