Ожидаемая оценка фильма
Условие
В базе онлайн-кинотеатра для каждого фильма записана оценка редакции. Отдельная таблица содержит прогноз: с какой вероятностью случайно выбранный зритель посмотрит каждый фильм из подборки.
Идентификаторы фильмов в двух таблицах совпадают, но строки второй таблицы могут идти в другом порядке. Вероятности заданы в тысячных долях и образуют распределение вероятностей.
Случайная величина \(X\) равна оценке редакции фильма, который будет выбран зрителем. Требуется найти математическое ожидание \(E[X]\):
\[ E[X] = \sum_{i=1}^{n} x_i \cdot p_i, \]
где \(x_i\) — оценка фильма, а \(p_i\) — вероятность его выбора. Во входных данных вероятность задана числом probability_thousandths, поэтому \(p_i = \text{probability_thousandths}_i / 1000\).
Если вероятности нескольких фильмов совпадают, каждая соответствующая строка всё равно отдельно участвует в сумме. Пропусков нет: каждый идентификатор из первой таблицы ровно один раз встречается во второй таблице.
Формат ввода
В первой строке дано целое число n — число фильмов в подборке.
В следующих n строках дана первая таблица в формате:
movie_id title editorial_rating
Здесь movie_id — идентификатор фильма, title — название без пробелов, editorial_rating — целая оценка редакции.
В следующих n строках дана вторая таблица в формате:
movie_id probability_thousandths
Здесь probability_thousandths — вероятность выбора фильма в тысячных долях.
Формат вывода
Выведите математическое ожидание \(E[X]\) с ровно тремя знаками после десятичной точки.
Ограничения
- \(1 \le n \le 1000\);
1 <= movie_id <= 10^9, все идентификаторы в первой таблице различны;- длина
title— от 1 до 20 символов, название состоит из строчных латинских букв, цифр и символа_; - \(0 \le editorial_rating \le 100\);
- \(0 \le probability_thousandths \le 1000\);
- сумма всех значений
probability_thousandthsравна 1000; - во второй таблице каждый идентификатор из первой таблицы встречается ровно один раз.
Решить задачу с автопроверкой на Python →
Куда дальше
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами