Три самых посещаемых раздела сайта
Условие
Школьный сайт хранит справочник разделов и журнал посещений. Для каждого посещения известны раздел и длительность просмотра страницы в секундах. Иногда длительность не успела записаться: тогда вместо числа стоит NA.
Для каждого раздела вычисляется суммарная длительность просмотров: \(T(s)=\sum d_i\), где суммируются длительности всех строк журнала с разделом s, а строки со значением NA в сумме не учитываются. Если у раздела нет посещений с известной длительностью, его сумма равна 0.
Требуется вывести названия трёх разделов с наибольшими значениями \(T(s)\). Разделы упорядочиваются по убыванию суммы, а при равных суммах — лексикографически по возрастанию названия. Округление не применяется, так как выводятся только названия разделов.
Формат ввода
В первой строке даны два целых числа m и n — число разделов в справочнике и число строк журнала.
В следующих m строках записаны названия разделов, по одному в строке.
В следующих n строках записаны два значения через пробел: название раздела и длительность просмотра. Длительность является целым числом либо строкой NA.
Формат вывода
Выведите ровно три названия разделов через один пробел в порядке от большего значения суммарной длительности к меньшему.
Ограничения
3 ≤ m ≤ 100.
1 ≤ n, m + n ≤ 2000.
Названия разделов состоят только из строчных латинских букв, имеют длину от 1 до 20 символов и попарно различны.
Каждое название раздела в журнале присутствует в справочнике.
Известная длительность просмотра — целое число от 1 до 3600 включительно.
Пропуск длительности обозначается строго строкой NA и не добавляет ничего к сумме раздела.
При равенстве суммарных длительностей раздел с лексикографически меньшим названием выводится раньше.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами