로봇 청소기
Time Limit: 1 SecMemory Limit: 1024 MiB

문제

길이가 인 1차원 배열 형태의 복도가 주어집니다. 번째 칸에는 먼지 더미가 개 있습니다. 로봇 청소기는 처음에 번째 칸에서 작동을 시작합니다.

작동을 시작한 로봇 청소기는 다음 과정을 반복합니다.

  1. 모든 칸의 먼지 더미가 개라면 작동을 즉시 종료합니다.
  2. 인접한 좌우 칸 중 하나로 칸 이동합니다. 단, 현재 칸이 번째 칸이라면 오른쪽으로만 이동할 수 있고, 현재 칸이 번째 칸이면 왼쪽으로만 이동할 수 있습니다.
  3. 이동이 끝난 직후, 현재 칸의 먼지를 개 제거합니다. 현재 칸의 먼지가 개라면 아무 일도 일어나지 않습니다.

먼지 제거는 항상 이동 직후에만 일어나며, 시작 직후에는 번째 칸에서 먼지를 제거하지 않습니다. 로봇 청소기가 위 규칙을 지키면서 모든 먼지를 제거하는 데 필요한 최소 이동 횟수를 출력하세요.

입력

첫 번째 줄에 양의 정수 가 공백으로 구분되어 주어집니다.

두 번째 줄에 정수 이 공백으로 구분되어 주어집니다.

출력

첫 번째 줄에 로봇 청소기가 모든 먼지를 제거하는 데 필요한 최소 이동 횟수를 출력합니다.

노트

번호배점제한
;
; ; 배열 에서 양의 정수는 최대
;
;
추가 제한 없음
Example Input 1
2 1
0 1
Example Output 1
1
Example Input 2
3 1
0 2 1
Example Output 2
3
Example Input 3
4 4
0 0 0 0
Example Output 3
0
Example Input 4
5 1
1 2 2 2 1
Example Output 4
8
Example Input 5
6 3
1 2 3 3 2 1
Example Output 5
12
Example Input 6
7 3
3 7 1 9 3 4 5
Example Output 6
42