Наибольшее отклонение результата забега
Условие
Перед школьной спартакиадой для каждого зарегистрированного участника был составлен прогноз времени забега. После старта судьи занесли фактические результаты только тех участников, которые финишировали.
Данные поступают двумя таблицами. В первой таблице указано прогнозное время, во второй — фактическое время. Строки таблиц могут идти в разном порядке. Номер участника является ключом для сопоставления строк.
Для каждого финишировавшего участника определяется остаток модели: 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 →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- Родителям: подготовка бесплатно — сколько стоит репетитор, что даёт бесплатный маршрут и как понять, что ребёнок занимается