Наибольшее отклонение результата забега

тема: Метрики регрессии и МНК · уровень: средний

Условие

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

Данные поступают двумя таблицами. В первой таблице указано прогнозное время, во второй — фактическое время. Строки таблиц могут идти в разном порядке. Номер участника является ключом для сопоставления строк.

Для каждого финишировавшего участника определяется остаток модели: r = фактическое_время − прогнозное_время. Требуется найти участника с наибольшим по модулю остатком, то есть с максимальным значением |r|, и вывести его номер и это значение.

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

Формат ввода

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

В следующих n строках записаны по два целых числа: номер участника bib и прогнозное время predicted в секундах.

В следующих m строках записаны по два целых числа: номер участника bib и фактическое время actual в секундах.

Каждый номер участника во второй таблице обязательно встречается в первой таблице. Номера внутри каждой таблицы не повторяются.

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

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

Ограничения

1 ≤ n ≤ 2000.

1 ≤ m ≤ n.

1 ≤ bib ≤ 999999.

1 ≤ predicted ≤ 100000.

1 ≤ actual ≤ 100000.

Все входные значения являются целыми числами.

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

Куда дальше