Парк с наибольшим числом птиц

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

Условие

В парке ведётся учёт птиц. Данные хранятся в трёх таблицах: парки, визиты наблюдателей и записи наблюдений. Запись наблюдения связана с парком не напрямую: сначала по visit_id находится визит, затем по park_id находится парк.

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

Для каждого парка вычисляется суммарное число замеченных птиц:

S(парк) = сумма bird_count по всем строкам observations, которые через visits относятся к этому парку.

Необходимо определить парк с максимальным значением S и вывести его имя и найденную сумму. Если максимум достигается у нескольких парков, выбирается парк с лексикографически наименьшим именем. Результат является целым числом, округление не применяется.

Формат ввода

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

Следующие p строк содержат таблицу парков в формате: park_id park_name

Следующие v строк содержат таблицу визитов в формате: visit_id park_id

Следующие o строк содержат таблицу наблюдений в формате: visit_id species bird_count

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

Необходимо вывести два значения через пробел: имя выбранного парка и его суммарное число замеченных птиц.

Ограничения

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

Куда дальше