Ближайшая станция для каждого дома

тема: Двоичный поиск · уровень: продвинутый

Условие

В городе на одной прямой улице стоят дома и станции обслуживания. Координаты — целые числа.

Для каждого дома нужно узнать расстояние до ближайшей станции (расстояние — это модуль разности координат), а потом сложить все эти расстояния.

Ввод

Первая строка: два целых числа n и m — количество домов и количество станций. Вторая строка: n целых чисел a1, a2, ..., an — координаты домов. Третья строка: m целых чисел b1, b2, ..., bm — координаты станций.

Вывод

Выведите одно число — сумму расстояний от каждого дома до ближайшей станции.

Ограничения

Пример

Ввод:

3 2
1 5 10
2 8

Вывод:

6

Пояснение к примеру: для дома 1 ближайшая станция в 2 (расстояние 1), для дома 5 ближайшая станция в 2 или 8 (расстояние 3), для дома 10 ближайшая станция в 8 (расстояние 2). Сумма 1 + 3 + 2 = 6.

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

Куда дальше