11374. Біля ставка


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Є круглий ставок периметром \(К\) метрів і навколо нього знаходиться \(N\) будинків. \(I\)-й будинок побудований на відстані \(A_i\) метрів від крайньої північної точки ставка. Рух здійснюється за годинниковою стрілкою навколо ставка. Подорожуючи між цими будинками, можна обійти ставок.

Знайдіть мінімальну відстань, яку потрібно подолати, коли ви починаєте в одному з будинків і відвідуєте всі \(N\) будинків.

Формат вхідних даних

Перший рядок містить цілі числа \(K, N\) (\(2 \le K \le 10^6\), \(2 \le N \le 2 \times 10^5\))

Наступний рядкок містить цілі числа \(A_i\) (\(1 \le A_i \le 10^9\))

Вхідний потік містить ціле число \(N\) (\(0 \le A_1 < ... < A_N < K\))

Числа у рядках розділяються пропуском.

Формат вихідних даних

У вихідний потік виведіть шукану мінімальну відстань.

Примітка

До прикладу 1:

Якщо почати з 1-го будинку і йти до 2-го і 3-го будинків у такому порядку, загальна пройдена відстань складе 10.

Приклад вхідних даних

20 3
5 10 15

Приклад вихідних даних

10

Приклад вхідних даних

20 3
0 5 15

Приклад вихідних даних

10

Коментарі

Ще немає коментарів.