Офис, в котором работает Рома, состоит из n кабинетов, связанных переходами по кругу, то есть есть переходы между кабинетами 1 и 2, 2 и 3, ..., (n−1) и n , а также между n и 1.
Однажды k сотрудников решили собраться в одном кабинете на совещание, однако они не смогли договориться, в каком именно. Поэтому они действуют следующим образом. Каждую минуту каждый сотрудник перемещается в один из двух соседних кабинетов (он не может остаться на месте). Если в какой-то момент все сотрудники оказались в одном кабинете, то они устраивают там совещание.
Роме стало интересно, какое минимальное время может пройти до начала совещания. Помогите ему найти это время.
Входные данные Первая строка содержит целые числа n и k (3≤n≤100 , 2≤k≤n ).
Вторая строка содержит k чисел ai — изначальные положения сотрудников (1≤ai≤n , все числа ai различны).
Выходные данные Выведите одно число — минимальное время, через которое все сотрудники могут встретиться в одном кабинете. Если сотрудники никогда не соберутся, выведите число −1 .
кабинетов, связанных переходами по кругу, то есть есть переходы между кабинетами 1 и 2, 2 и 3, ..., (n−1)
и n
, а также между n
и 1.
Однажды k
сотрудников решили собраться в одном кабинете на совещание, однако они не смогли договориться, в каком именно. Поэтому они действуют следующим образом. Каждую минуту каждый сотрудник перемещается в один из двух соседних кабинетов (он не может остаться на месте). Если в какой-то момент все сотрудники оказались в одном кабинете, то они устраивают там совещание.
Роме стало интересно, какое минимальное время может пройти до начала совещания. Помогите ему найти это время.
Входные данные
Первая строка содержит целые числа n
и k
(3≤n≤100
, 2≤k≤n
).
Вторая строка содержит k
чисел ai
— изначальные положения сотрудников (1≤ai≤n
, все числа ai
различны).
Выходные данные
Выведите одно число — минимальное время, через которое все сотрудники могут встретиться в одном кабинете. Если сотрудники никогда не соберутся, выведите число −1
.