Парк с наибольшим числом птиц
Условие
В парке ведётся учёт птиц. Данные хранятся в трёх таблицах: парки, визиты наблюдателей и записи наблюдений. Запись наблюдения связана с парком не напрямую: сначала по 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
Формат вывода
Необходимо вывести два значения через пробел: имя выбранного парка и его суммарное число замеченных птиц.
Ограничения
1 ≤ p ≤ 300,1 ≤ v ≤ 700,1 ≤ o ≤ 2000;- общее число строк во всех трёх таблицах не превосходит
2000; 1 ≤ park_id, visit_id ≤ 10^9;- идентификаторы парков уникальны, идентификаторы визитов уникальны;
- каждый
park_idиз таблицы визитов есть в таблице парков; - каждый
visit_idиз таблицы наблюдений есть в таблице визитов; - для каждого парка существует хотя бы одна строка наблюдений, связанная с ним через таблицу визитов;
park_nameсостоит из строчных латинских букв, его длина от1до16, имена парков уникальны;speciesсостоит из строчных латинских букв, его длина от1до20;0 ≤ bird_count ≤ 10000;- пропусков в полях нет; одинаковые строки наблюдений допустимы и считаются разными записями.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Вердикты судьи: WA, TLE, RE, PE, CE — что значит каждый код проверяющей системы и где искать причину
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт