광부가 될 수 있다면

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

요약
1층 임의의 열에서 시작해 좌우 이동과 아래 이동만으로 N층까지 내려가며 처음 방문한 칸 가치 합의 최댓값을 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 누적 합, 그리디
정답자
아직 제출이 없습니다

문제

슈카고등학교 1학년 키타는 슈카고등학교 지하에 광물이 매장되어 있다는 정보를 입수했다. 키타는 이를 듣고 광질을 하여 부자가 되려고 한다. 하지만 슈카고등학교 지하는 매우 위험하기 때문에 길을 잘못 들면 오히려 손해를 볼 수도 있다.

지하는 NN층 MM열, N×MN \times M크기의 직사각형 모양으로 이루어져 있다. 키타는 같은 층에서 왼쪽, 오른쪽으로 움직일 수 있고, 같은 열의 바로 아래층으로 내려갈 수도 있다. 좌우로는 자유롭게 움직일 수 있지만, 한 번 내려간 뒤에 다시 올라갈 수는 없다. 아직 방문하지 않은 칸에 처음 도착하면 그 칸의 가치만큼 돈을 얻거나 잃는다. 이미 방문한 칸을 다시 지나가는 것은 가능하지만 돈을 추가로 얻거나 잃지는 않는다.

키타는 지하 1층의 원하는 열에서 광질을 시작해 최대한 많은 돈을 벌고, 비상계단을 통해 탈출할 계획을 세웠다. 비상계단은 지하 NN층에 있기 때문에 반드시 지하 NN층까지 내려가야 하며, 다른 층에서는 그만둘 수 없다. 비상계단은 모든 열에 있기 때문에 지하 NN층의 어느 열에서든 광질을 끝낼 수 있다. 키타가 부자가 될 수 있도록 벌 수 있는 돈의 최댓값을 구해주자!

입력

첫째 줄에 NN, MM이 공백으로 구분되어 주어진다. (1≤N,M≤1,000)(1 \leq N, M \leq 1\\,000)

이후 NN개의 줄에 걸쳐 정수 MM개가 공백으로 구분되어 주어진다. ii번째 줄의 jj번째 수는 ii번째 층 jj번째 열의 가치이다. 이 수의 절댓값은 10910^9 이하이다.

출력

첫째 줄에 벌 수 있는 돈의 최댓값을 출력한다. 답이 음수가 될 수 있음에 유의한다.

예제2

  1. 예제 1

    입력
    3 3
    6 -3 4
    -2 -7 1
    3 2 -4
    
    예상 출력
    10
    
  2. 예제 2

    입력
    5 5
    7 6 -25 16 10
    17 -23 17 -12 5
    30 -21 -15 -3 -5
    -24 18 -17 10 6
    20 0 -14 -2 19
    
    예상 출력
    81