문제1816--아이스크림 모으기

1816: 아이스크림 모으기

[만든사람 : ]
시간제한 : 1.000 sec  메모리제한 : 128 MB  제출 : 11  맞은 사람 : 2

제출  

문제 설명

코딩이는 오락실에서 상자를 옮기는 게임을 한다. 게임 화면은 N칸으로 나누어져 있다. 화면의 아래쪽에는 M칸을 차지하는 상자가 있다. (M<N) 유저는 게임을 하는 중에 상자를 왼쪽이나 오른쪽으로 이동할 수 있다. 하지만, 상자는 스크린의 경계를 넘어가면 안 된다. 가장 처음에 상자는 왼쪽 M칸을 차지하고 있다.
화면의 위에서 아이스크림 여러 개가 떨어진다. 각 아이스크림은 N칸중 한 칸의 상단에서 떨어지기 시작하며, 화면의 바닥에 닿을때까지 직선으로 떨어진다. 한 아이스크림이 바닥에 닿는 즉시, 다른 아이스크림가 떨어지기 시작한다.
상자가 아이스크림이 떨어지는 칸을 차지하고 있다면, 상자는 그 아이스크림이 바닥에 닿을 때, 아이스크림을 담을 수 있다. 코딩이는 아이스크림을 모두 담으려고 한다. 이때, 상자의 이동 거리의 최솟값을 구하는 프로그램을 작성하시오.



입력 설명

첫째 줄에 N과 M이 주어진다. (1 ≤ M < N ≤ 10) 둘째 줄에 떨어지는 아이스크림의 개수 J가 주어진다. (1 ≤ J ≤ 20) 다음 J개 줄에는 아이스크림이 떨어지는 위치가 순서대로 주어진다.

출력 설명

모든 아이스크림을 담기 위해서 상자가 이동해야 하는 거리의 최솟값을 출력한다.

입력 예시1 Copy

5 1
3
1
5
3

출력 예시1 Copy

6

출처/분류