Вторая по температуре зона теплицы

тема: Таблицы: фильтр и группировка · уровень: средний

Условие

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

Значение температуры -1 означает пропуск измерения и не учитывается. Для каждой зоны вычисляется средняя температура по всем её непропущенным показаниям:

средняя температура зоны = сумма непропущенных температур / количество непропущенных температур.

Зоны упорядочиваются по убыванию средней температуры. Требуется вывести номер зоны, стоящей второй в этом порядке. При равенстве средних температур раньше располагается зона с меньшим номером.

Для каждой зоны гарантируется хотя бы одно непропущенное показание, поэтому деления на ноль не возникает.

Формат ввода

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

В следующих p строках записаны два целых числа sensor_id и zone_id — идентификатор датчика и номер зоны, в которой он установлен. Идентификаторы датчиков в этой таблице различны.

В следующих m строках записаны два целых числа sensor_id и temperature — идентификатор датчика и его показание температуры. Значение -1 обозначает пропуск.

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

Выведите один целый номер зоны, занимающей второе место после сортировки зон по убыванию средней температуры.

Ограничения

2 ≤ p ≤ 1000.

2 ≤ m ≤ 1000.

p + m ≤ 2000.

1 ≤ sensor_id ≤ 10^9.

1 ≤ zone_id ≤ 10^9.

temperature равно -1 либо является целым числом от 0 до 60.

В таблице датчиков присутствуют хотя бы две различные зоны. Каждый sensor_id из таблицы показаний присутствует в таблице датчиков. Для каждой зоны есть хотя бы одно показание, отличное от -1.

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

Куда дальше