Сглаживание результатов забегов
Условие
На школьной спартакиаде каждый участник бежит несколько забегов. Таблица расписания содержит идентификатор забега и его порядковый номер. Таблица результатов приходит отдельно и может быть записана в другом порядке.
Для некоторых забегов результат отсутствует: в таблице результатов вместо времени указано NA. Такие забеги не участвуют в расчёте сглаживания. Гарантируется, что хотя бы один результат указан числом.
После сопоставления таблиц по идентификатору забега результаты нужно расположить по возрастанию порядкового номера. Пусть числовые результаты в этом порядке равны \(x_1, x_2, \ldots, x_k\). Коэффициент сглаживания равен \(\alpha=a/1000\). Экспоненциальное сглаживание определяется формулами: \(S_1=x_1\), \(S_i=\alpha x_i+(1-\alpha)S_{i-1}\) для \(i\ge2\). Требуется вывести последнее значение \(S_k\).
При равенстве времени нескольких забегов обе строки обрабатываются отдельно в соответствии с их порядковыми номерами, и равенство не изменяет правило расчёта.
Формат ввода
В первой строке даны два целых числа n и a: число забегов и коэффициент сглаживания в тысячных.
В следующих n строках записана таблица расписания. Каждая строка содержит идентификатор забега run_id и его порядковый номер place.
В следующих n строках записана таблица результатов. Каждая строка содержит идентификатор забега run_id и результат time. Значение time равно вещественному числу с тремя знаками после точки либо строке NA.
Формат вывода
Выведите последнее значение экспоненциального сглаживания с тремя знаками после точки.
Ограничения
1 <= n <= 2000;1 <= a <= 999;- идентификатор
run_idсостоит из строчных латинских букв, цифр и символа_, его длина от 1 до 20; - в таблице расписания все идентификаторы различны;
- в таблице результатов каждый идентификатор из таблицы расписания встречается ровно один раз;
- числа
placeобразуют перестановку чисел от 1 доn; - числовое значение
timeнаходится в диапазоне от600.000до3600.000включительно и записано ровно с тремя знаками после точки; - хотя бы в одной строке второй таблицы значение
timeне равноNA; - суммарно в двух таблицах не более 4000 строк данных.
Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается