Наблюдения птиц по городам

тема: Связывание таблиц · уровень: средний

Условие

В сети парков ведётся справочник видов птиц. Для каждого кода вида в справочнике указан город, в котором расположен парк наблюдений этого вида.

Отдельно записаны результаты наблюдений: код вида и число замеченных птиц. Один и тот же код может встречаться в результатах много раз. Некоторые результаты могут содержать код, отсутствующий в справочнике: такие строки не учитываются.

В конце входа указан запрос из кодов видов. Для каждого города необходимо найти сумму числа птиц во всех строках наблюдений, код которых одновременно есть в запросе и в справочнике. То есть для города C вычисляется сумма S(C) = Σ count, где суммирование идёт по подходящим строкам наблюдений, а count — число птиц в строке. Требуется вывести город с наибольшей суммой и эту сумму. Гарантируется, что после соединения наблюдений со справочником для хотя бы одного города найдётся подходящая строка.

Если наибольшая сумма достигается в нескольких городах, выводится лексикографически меньшее название города. Сумма является целым числом, её следует вывести без округления.

Формат ввода

В первой строке записаны три целых числа n, m и q — число строк справочника, число строк наблюдений и число кодов в запросе.

В следующих n строках записаны код вида и название города через пробел. Коды в справочнике не повторяются.

В следующих m строках записаны код вида и целое число count через пробел — результат одного наблюдения.

В последних q строках записаны коды видов из запроса. Коды в запросе не повторяются. Код из запроса может отсутствовать в справочнике и тогда не влияет на ответ.

Формат вывода

Выведите название города и наибольшую сумму числа птиц через пробел.

Ограничения

1 ≤ n, 1 ≤ m, n + m ≤ 2000.

1 ≤ q ≤ 30.

1 ≤ count ≤ 100000.

Длина кода вида составляет от 2 до 12 символов. Код состоит из латинских букв верхнего регистра и цифр.

Длина названия города составляет от 2 до 16 символов. Название состоит только из латинских букв.

Решить задачу с автопроверкой на Python →

Куда дальше