격자에서 나무를 베어 왼쪽 위와 오른쪽 아래 칸이 연결되도록 만들되, 각 나무를 베고 제재소로 운반하는 데 드는 총 이동 시간을 최소화한다.
어려움8그래프최단 경로동적 계획법그리디아직 제출이 없습니다시간 제한2초메모리 제한512 MBJOI 왕국에는 넓은 숲이 있다. 숲은 직사각형 모양이고, 남북으로 H칸, 동서로 W칸인 격자로 나뉘어 있다. 북쪽에서 i번째, 서쪽에서 j번째 칸 (1≤i≤H, 1≤j≤W)에는 나무가 Ai,j그루 자라고 있다. 북서쪽 끝 칸에는 목재 가공 공장이 있어 나무가 자라지 않는다. 즉 A1,1=0이다.
나무가 없는 칸에는 사람이 들어갈 수 있다. 사람은 동서남북으로 인접한 칸에 나무가 없으면 그 칸으로 이동할 수 있다. 숲 밖으로 나갈 수는 없다. JOI 군은 왕국의 공공사업으로 나무를 베어 북서쪽 끝 칸과 남동쪽 끝 칸을 서로 오갈 수 있게 만들려고 한다.
벌채는 다음과 같이 한다. 처음에 JOI 군은 목재 가공 공장이 있는 북서쪽 끝 칸에 있다. JOI 군은 지금 있는 칸과 동서남북으로 인접한 칸 중 나무가 없는 칸으로 1분 만에 이동할 수 있다. 또 동서남북으로 인접한 칸 중 나무가 있는 칸에서 1분 만에 나무를 한 그루 벨 수 있다. 단, 나무를 한 그루 벨 때마다 그 나무를 북서쪽 끝 칸의 목재 가공 공장까지 운반해야 한다. 나무를 운반하는 동안에도 JOI 군의 이동 속도는 그대로다. 나무를 운반하는 동안에는 다른 나무를 벨 수 없다.
조건을 만족하도록 나무를 베는 데 걸리는 시간의 최솟값을 구하여라. 벌채에 걸리는 시간은 마지막으로 벤 나무를 목재 가공 공장까지 옮길 때까지의 시간이다.
입력은 다음 형식으로 표준 입력에서 주어진다.
H W
A_{1,1} ... A_{1,W}
...
A_{H,1} ... A_{H,W}
조건을 만족하도록 나무를 베는 데 걸리는 시간의 최솟값을 한 줄에 출력한다.