Рейтинг вкусов для выбранных киосков
Условие
Сеть киосков с мороженым хранит список доступных вкусов и журнал продаж. В одной строке журнала указаны киоск, вкус и число проданных шариков. В журнале могут встречаться несколько строк с одинаковыми киоском и вкусом.
В конце входных данных задан запрос: список киосков, для которых нужно составить рейтинг. Для каждого вкуса из полного списка доступных вкусов считается суммарное число проданных шариков только в киосках из запроса.
Для вкуса f его результат вычисляется по формуле S(f) = Σ scoops_i, где суммирование идёт по всем строкам продаж i, в которых вкус равен f, а киоск входит в запрос. Если для некоторого вкуса нет подходящих строк продаж, его результат равен 0.
Требуется вывести названия трёх вкусов с наибольшими значениями S(f) в порядке убывания результата. При равенстве результатов вкусы располагаются в лексикографическом порядке их названий.
Округление не применяется, так как все результаты являются целыми числами.
Формат ввода
В первой строке даны два целых числа m и n — количество доступных вкусов и количество строк в журнале продаж.
В следующих m строках записаны названия доступных вкусов, по одному в строке.
В следующих n строках записаны три значения: название киоска, название вкуса и целое число scoops — количество проданных шариков.
Затем дано целое число k — количество киосков в запросе.
В следующих k строках записаны названия киосков из запроса, по одному в строке.
Формат вывода
Выведите три названия вкусов через один пробел: первые три вкуса в рейтинге для киосков из запроса.
Ограничения
3 ≤ m ≤ 500.
1 ≤ n ≤ 2000.
1 ≤ k ≤ 500.
Названия вкусов и киосков состоят только из строчных латинских букв, их длина от 1 до 15 символов.
Все названия вкусов в списке доступных вкусов различны.
Все названия киосков в запросе различны.
В каждой строке журнала указан вкус из списка доступных вкусов.
0 ≤ scoops ≤ 10000.
Строк с пропущенными полями нет. Отсутствие строки продаж для пары киоск–вкус означает, что для этой пары продано 0 шариков.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается