Ожидаемое число заявок по очереди

тема: Вероятность и матожидание · уровень: базовый

Условие

Провайдер оценивает нагрузку на очереди службы поддержки. Для каждой очереди известны возможные числа заявок за следующий час и вероятности этих значений.

Некоторые строки прогноза могут не содержать вероятность: в таком случае в последнем поле указано NA. Такие строки не используются в расчёте. Для каждой очереди сумма всех указанных вероятностей равна 1000 тысячных.

Для очереди ожидаемым числом заявок называется математическое ожидание дискретной случайной величины:

E = Σ(x_i · p_i / 1000),

где x_i — число заявок в строке прогноза, а p_i — вероятность в тысячных. В конце входа указаны очереди, для которых требуется вычислить это значение.

Если одинаковое число заявок встречается в нескольких строках одной очереди, каждая такая строка отдельно вносит вклад в сумму. Строки с NA не участвуют в расчёте. Для каждой очереди, указанной в запросе, существует хотя бы одна строка с числовой вероятностью.

Формат ввода

В первой строке содержатся два целых числа n и q — число строк прогноза и число запросов.

В следующих n строках содержатся три значения: имя очереди queue, целое число заявок x и вероятность p. Вероятность p записана целым числом от 0 до 1000 либо строкой NA.

В следующих q строках записаны имена очередей из запросов.

Формат вывода

Для каждого запроса выведите в отдельной строке ожидаемое число заявок для указанной очереди.

Каждое число выводится ровно с тремя знаками после точки. Значение округляется до трёх знаков после точки; в этой задаче результат формулы всегда точно представим с тремя знаками.

Ограничения

1 ≤ n ≤ 1000.

1 ≤ q ≤ 50.

Длина имени очереди — от 1 до 12 символов. Имя состоит из строчных латинских букв, цифр и символа _.

0 ≤ x ≤ 100000.

Если вероятность задана числом, то 0 ≤ p ≤ 1000.

Для каждой очереди сумма числовых вероятностей во всех её строках равна 1000.

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

Решить задачу с автопроверкой на Python →

Куда дальше