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

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

Условие

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

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

Ввод

Первая строка содержит целое число t — количество наборов данных.

Далее идут t наборов данных. Каждый набор имеет следующий формат.

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

Вывод

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

Ограничения

Пример

Ввод:

3
1 1
0
0
3 1
0 5 10
7
1 3
6
1 5 100

Вывод:

0
12
1

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

Куда дальше