Войти Регистрация
Алгоритмы

185. Три вышки отметили телефон почти одновременно

Средняя

Три базовые станции МТС пишут в свои журналы секунды, когда видели телефон абонента. Журналы a, b, c отсортированы по возрастанию, в каждом хотя бы одна отметка.

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

В работе: Для оценки местоположения по трём вышкам нужны отметки, близкие по времени: за сутки у вышки до 80 000 отметок одного абонента, тройной перебор — 5·10¹⁴ комбинаций.

Пример 1

Ввод
a = [10, 40, 95]
b = [32, 70, 101]
c = [36, 90]
Вывод
8

Тройка 40, 32, 36 — разброс 8 секунд.

Пример 2

Ввод
a = [5]
b = [5]
c = [5]
Вывод
0

Все три одновременно.

Ограничения

  • 1 ≤ длина каждого журнала ≤ 10⁵
  • 0 ≤ отметка ≤ 10⁹
  • журналы отсортированы, повторы возможны
  • Лимит — 2 с на тест (1500 мс).
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def tightest_triple(a, b, c):
Три указателяОтсортированный массивцельO(n)

Источник: наша задача на данных МТС. Условие пересказано своими словами.