Наибольший скачок времени доставки
Условие
Служба доставки ведёт две таблицы журнала. В первой таблице указана последовательность заказов, переданных курьерам в течение смены. Во второй таблице хранятся известные времена доставки некоторых заказов.
Время доставки может отсутствовать: это означает, что заказ ещё не завершён или данные не поступили. Такой заказ не участвует в вычислении разности с соседними заказами.
Для каждой пары соседних строк первой таблицы, у которых времена доставки известны в обеих строках, вычисляется модуль скачка
\[ D_i = |t_i - t_{i-1}|, \]
где \(t_{i-1}\) и \(t_i\) — времена доставки заказов в соседних строках журнала. Требуется вывести идентификатор второго заказа пары с наибольшим значением \(D_i\). Если подходящих пар нет, следует вывести 0.
Если наибольший модуль скачка достигается у нескольких пар, выбирается пара, которая раньше встречается в первой таблице.
Формат ввода
В первой строке даны два целых числа n и m — число строк в таблице последовательности заказов и число строк в таблице известных времен доставки.
В следующих n строках записаны два целых числа dispatch_no и order_id — номер передачи заказа курьеру и идентификатор заказа. Строки уже расположены по возрастанию dispatch_no.
В следующих m строках записаны два целых числа order_id и delivery_minutes — идентификатор заказа и время его доставки в минутах. Строки второй таблицы могут быть расположены в любом порядке.
Формат вывода
Выведите один целый идентификатор заказа: второй заказ пары с наибольшим модулем скачка времени доставки. Если подходящих соседних пар нет, выведите 0.
Округление не требуется, так как ответ является целым числом.
Ограничения
1 ≤ n ≤ 1000.
0 ≤ m ≤ n.
1 ≤ dispatch_no ≤ 1000, номера dispatch_no в первой таблице различны и идут по возрастанию.
1 ≤ order_id ≤ 10^9, идентификаторы заказов в первой таблице различны.
1 ≤ delivery_minutes ≤ 300.
Каждый order_id второй таблицы присутствует в первой таблице, а идентификаторы во второй таблице различны.
Решить задачу с автопроверкой на Python →
Куда дальше
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс