Ожидаемое число ответов на опрос

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

Условие

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

Вероятность задана целым числом q в промилле: вероятность ответа равна q / 1000. Одно посещение соответствует одной попытке показа опроса. Если одинаковая кампания встречается в журнале несколько раз, все такие посещения учитываются отдельно.

В конце входа задан запрос: название кампании. Требуется найти математическое ожидание числа ответов на опрос этой кампании. По линейности математического ожидания для всех строк с кампанией из запроса используется формула

E = q_1 / 1000 + q_2 / 1000 + ... + q_k / 1000,

где q_1, q_2, ..., q_k — вероятности в промилле для подходящих посещений. Если одинаковые значения вероятностей встречаются в нескольких строках, каждая такая строка всё равно учитывается отдельно. Если в журнале нет посещений кампании из запроса, математическое ожидание равно 0.000.

Формат ввода

В первой строке дано целое число n — число строк журнала посещений.

В следующих n строках содержатся три значения: visit_id, campaign, q.

В последней строке дано название кампании query, для которой требуется найти математическое ожидание числа ответов.

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

Выведите одно число — математическое ожидание числа ответов для кампании из запроса.

Выведите число ровно с тремя знаками после десятичной точки.

Ограничения

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

Куда дальше