Оборот посылок по городам
Условие
Сеть пунктов выдачи хранит справочник пунктов и журнал операций с посылками. В справочнике каждому идентификатору пункта соответствует город. В журнале указаны идентификатор пункта и стоимость операции.
Операция учитывается только тогда, когда её идентификатор пункта есть в справочнике. Операции с неизвестными пунктами считаются ошибочными записями и не влияют на результат.
Для каждого города из справочника определяется оборот
S(город) = сумма стоимостей всех учитываемых операций пунктов этого города.
Пустая группа допустима: если у города нет учитываемых операций, его оборот равен 0. Требуется определить город с наибольшим оборотом и вывести его имя вместе с оборотом. При равенстве максимальных оборотов выбирается лексикографически меньшее имя города. Оборот является целым числом, округление не применяется.
Формат ввода
В первой строке заданы два целых числа n и m — количество строк справочника пунктов и количество операций.
В следующих n строках заданы идентификатор пункта и имя города: point_id city.
В следующих m строках заданы идентификатор пункта и стоимость операции: point_id amount.
Формат вывода
В единственной строке требуется вывести имя города с максимальным оборотом и его оборот через пробел.
Ограничения
1 ≤ n ≤ 2000;0 ≤ m ≤ 2000;n + m ≤ 2000;1 ≤ point_id ≤ 1 000 000 000;- идентификаторы пунктов в справочнике попарно различны;
cityсостоит из строчных латинских букв, длина имени от 1 до 20 символов;0 ≤ amount ≤ 1 000 000;- идентификатор пункта в операции может отсутствовать в справочнике;
- одинаковые операции и несколько пунктов одного города допустимы.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать