Олимпиадный тренинг

Задача . B. Контрольные пункты


Спортсмен Вася участвует в соревнованиях по спортивному ориентированию. На соревновательной прямой расположены n контрольных пунктов с координатами x1, x2, ..., xn. Вася стартует из точки с координатой a. Ему необходимо посетить как минимум n - 1 контрольный пункт, чтобы финишировать. Участники могут посещать контрольные пункты в произвольном порядке.

Васю интересует, какие контрольные пункты и в каком порядке ему нужно посещать, чтобы пройденное им расстояние было минимально возможным. Помогите ему вычислить это расстояние.

Входные данные

В первой строке входных данных даны два целых числа n и a (1 ≤ n ≤ 100 000,  - 1 000 000 ≤ a ≤ 1 000 000) — количество контрольных пунктов и начальная координата Васи соответственно.

Во второй строке записаны n целых чисел x1, x2, ..., xn ( - 1 000 000 ≤ xi ≤ 1 000 000) — координаты контрольных пунктов.

Выходные данные

Выведите одно целое число — минимальное суммарное расстояние, которое нужно пройти Васе, чтобы посетить как минимум n - 1 контрольный пункт.

Примечание

В первом примере требуется посетить хотя бы два контрольных пункта. Оптимальный вариант — сначала дойти до третьего (расстояние 12 - 10 = 2), а потом до второго (расстояние 12 - 7 = 5). Итоговое расстояние равняется 2 + 5 = 7.

Во втором примере достаточно посетить один контрольный пункт, поэтому оптимально будет направиться в точку  - 10.


Примеры
Входные данныеВыходные данные
1 3 10
1 7 12
7
2 2 0
11 -10
10
3 5 0
0 0 1000 0 0
0

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя