만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

앳코더 스터디

시간 제한1초메모리 제한512 MB

요약
2N-1개의 건물이 일렬로 있고 승형이는 건물 N에서 출발합니다. 1칸 이동이나 N칸 점프로 흩어진 M명을 모두 모을 때 최소 시간을 구합니다.
난이도

보통10점 중 7점

유형
그래프, 최단 경로, 수학
정답자
아직 제출이 없습니다

문제

서강 마을은 직선 형태의 마을이다. 건물이 총 2N−12N-1개 일렬로 늘어서 있고, 왼쪽부터 1번부터 2N−12N-1번까지 번호가 매겨져 있다. 이 마을에는 근수 MM명과 승형이가 살고 있다. 근수들은 모두 서로 다른 건물에 있고, 승형이는 K512가 있는 NN번 건물에 있다. 근수들과 승형이는 매주 월요일 앳코더 스터디를 진행한다. 그런데 스터디 시작 5분 전인데도 근수가 한 명도 오지 않았다! 화가 난 승형이는 숨겨 둔 특별한 보법으로 마을 곳곳의 근수들을 데리고 K512로 돌아오려고 한다.

승형이는 다음 세 가지 보법을 쓸 수 있다.

  1. 1초 만에 이웃한 건물로 이동할 수 있다. 즉, ii번 건물에서 i+1i+1번 또는 i−1i-1번 건물로 이동할 수 있다. 1번 또는 2N−12N-1번 건물에 있다면 각각 2번 또는 2N−22N-2번 건물로만 이동할 수 있다.
  2. 1초 만에 정확히 NN개의 건물을 건너뛰고 이동할 수 있다. 즉, i>Ni > N인 ii에 대해서는 ii번 건물에서 i−Ni-N번 건물로, i<Ni < N인 ii에 대해서는 ii번 건물에서 i+Ni+N번 건물로 이동할 수 있다.
  3. 지금까지 방문한 적 있는 모든 건물로 시간을 지체하지 않고 즉시 이동할 수 있다. 단, 2번 보법을 쓰는 중에 건너뛴 건물은 방문한 건물로 보지 않는다.

승형이는 근수가 있는 건물에 도착하면 바로 근수를 데리고 나오므로, 근수를 챙기는 데 추가 시간은 걸리지 않는다. 모든 근수를 데리고 돌아오는 데 걸리는 최소 시간을 계산해 보자!

입력

첫 번째 줄에 정수 NN과 근수의 수 MM이 주어진다. (2≤N≤1062 \le N \le 10^6; 1≤M≤2N−21 \le M \le 2N-2)

두 번째 줄에는 ii번 근수의 위치 aia_i가 a1a_1부터 aMa_M까지 공백으로 구분되어 주어진다. 모든 근수의 위치는 서로 다르며, ai=Na_i = N인 경우는 없다. (1≤ai≤2N−11 \le a_i \le 2N-1)

출력

승형이가 모든 근수를 데리고 돌아오는 데 걸리는 최소 시간을 출력한다.

예제2

  1. 예제 1

    입력
    4 2
    1 7
    
    예상 출력
    4
    
  2. 예제 2

    입력
    8 8
    1 2 5 11 13 9 3 12
    
    예상 출력
    8