만드는 중입니다

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

서예가

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

요약
음수와 양수가 섞인 격자에서 N, O, I 세 글자를 겹치지 않게 배치해 덮는 칸 값의 합을 최대로 만드는 문제입니다.
난이도

어려움10점 중 9점

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

문제

리틀 E는 서예를 아주 좋아한다. NOI2013이 시작되었다는 소식을 듣고, 모두에게 NOI 글자를 쓴 서예 작품을 선물하려고 한다.

리틀 E에게는 마법의 종이가 한 장 있다. 이 종이는 nn개의 행과 mm개의 열로 이루어진 2차원 격자이다. 왼쪽 아래 모서리의 좌표는 (1,1)(1, 1)이고, 오른쪽 위 모서리의 좌표는 (m,n)(m, n)이다. 각 칸에는 정수 행운도가 적혀 있다. 칸에 글씨를 쓰면 모두의 행운도가 올라간다. 전체 행운도는 글씨를 쓴 모든 칸의 행운도 합이다. 종이에 N, O, I 세 글자를 써야 한다.

세 글자는 다음과 같이 정의된다.

  1. N은 격자의 축에 평행한 직사각형 3개 이상으로 이루어진다. 직사각형의 개수를 KK라 하고 1부터 KK까지 번호를 붙인다. ii번째 직사각형의 왼쪽 아래 모서리는 (Li,Bi)(L_i, B_i), 오른쪽 위 모서리는 (Ri,Ti)(R_i, T_i)이다. 이 값들은 다음을 만족한다.

    1. Li≤RiL_i \leq R_i, Bi≤TiB_i \leq T_i;
    2. 모든 1<i≤K1 < i \leq K에 대해 Li=Ri−1+1L_i = R_{i-1} + 1;
    3. 모든 3≤i<K3 \leq i < K에 대해 Bi−1−1≤Ti≤Ti−1B_{i-1} - 1 \leq T_i \leq T_{i-1}, Bi≤Bi−1B_i \leq B_{i-1};
    4. B2>B1B_2 > B_1, T2=T1T_2 = T_1, BK−1=BKB_{K-1} = B_K, TK−1<TKT_{K-1} < T_K.
  2. O는 큰 직사각형 AA에서 작은 직사각형 BB를 도려낸 모양이다. 두 직사각형 모두 변이 격자의 축에 평행하다. AA의 왼쪽 아래 모서리를 (u,v)(u, v), 너비를 WW, 높이를 HH라 하자. 그러면 BB의 왼쪽 아래 모서리는 (u+1,v+1)(u+1, v+1)이고, 너비는 W−2W-2, 높이는 H−2H-2이다. 이 값들은 다음을 만족한다.

    1. W≥3W \geq 3, H≥3H \geq 3;
    2. u>RK+1u > R_K + 1.
  3. I는 격자의 축에 평행한 직사각형 3개로 이루어진다. 아래에서 위로 1, 2, 3번을 붙인다. ii번 직사각형의 왼쪽 아래 모서리는 (Pi,Qi)(P_i, Q_i), 오른쪽 위 모서리는 (Gi,Hi)(G_i, H_i)이다. 이 값들은 다음을 만족한다.

    1. Pi≤GiP_i \leq G_i, Qi≤HiQ_i \leq H_i;
    2. P1=P3>u+WP_1 = P_3 > u + W, G1=G3G_1 = G_3;
    3. Q1=H1=Q2−1Q_1 = H_1 = Q_2 - 1, H2+1=Q3=H3H_2 + 1 = Q_3 = H_3;
    4. P1<P2≤G2<G1P_1 < P_2 \leq G_2 < G_1.

아래 그림은 N, O, I를 올바르게 배치한 예이다.

설계에서 그리는 도형은 어느 것도 격자의 경계를 넘으면 안 된다. 리틀 E는 이 설계로 얻을 수 있는 행운도의 최댓값을 구하려고 한다.

입력

첫 줄에 행의 수 nn과 열의 수 mm이 주어진다. 이어지는 nn개의 줄에는 각각 mm개의 정수가 주어진다. i+1i + 1번째 줄의 jj번째 정수는 (j,n−i+1)(j, n - i + 1) 칸의 행운도이다.

출력

설계로 얻을 수 있는 전체 행운도의 최댓값 TT를 정수 하나로 출력한다.

제한

3≤n≤1503 \leq n \leq 150

3≤m≤5003 \leq m \leq 500

각 칸의 행운도는 [−200,200][-200, 200] 범위의 정수이다.

예제2

  1. 예제 1

    입력
    3 13
    1 1 -1 -1 1 -1 1 1 1 -1 1 1 1
    1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 -1
    1 -1 -1 1 1 -1 1 1 1 -1 1 1 1
    
    예상 출력
    24
    
  2. 예제 2

    입력
    3 13
    -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
    -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
    -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
    
    예상 출력
    -20