만드는 중입니다

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

양손에 V

시간 제한2초메모리 제한1024 MB

요약
흰 칸 두 개를 골라 각각 왼쪽 위와 오른쪽 위 대각선을 따라 칠할 때, 파란 칸의 최대 개수를 구합니다.
난이도

보통10점 중 6점

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

문제

각 격자가 흰색 또는 검은색으로 칠해진 NN행 MM열의 격자판이 주어진다.

다음과 같은 행동을 "V자 색칠하기"라고 하자.

  1. 흰색 격자를 하나 고른다.
  2. 고른 격자에서 시작해 왼쪽 위 대각선을 따라 움직이면서, 흰색이 아닌 격자가 나오거나 격자판 밖으로 나가기 전까지 지나는 격자를 모두 파란색으로 칠한다.
  3. 고른 격자의 오른쪽 위 격자에서 시작해 오른쪽 위 대각선을 따라 움직이면서, 흰색이 아닌 격자가 나오거나 격자판 밖으로 나가기 전까지 지나는 격자를 모두 파란색으로 칠한다.

"V자 색칠하기"를 두 번 했을 때 파란색이 될 수 있는 격자의 최대 개수를 구하여라.

예를 들어 다음과 같은 격자판이 주어졌다고 하자.

5행 5열의 격자에서 V자 색칠하기를 한 후 격자판의 상태는 다음과 같다.

그 후 5행 9열의 격자에서 V자 색칠하기를 하면 총 11개의 격자가 파란색으로 칠해진다.

반면 5행 9열의 격자에서 먼저 V자 색칠하기를 한 후 5행 5열의 격자에서 V자 색칠하기를 하면 총 13개의 격자가 파란색으로 칠해진다.

V자 색칠하기 두 번으로 13개보다 많은 격자를 파란색으로 칠할 수 없으므로, 이 격자판의 답은 13이다.

입력

첫 번째 줄에 NN과 MM이 공백으로 구분되어 주어진다.

두 번째 줄부터 NN개의 줄에 걸쳐 격자판 정보가 주어진다. 각 줄은 00 또는 11로 이루어진 길이 MM의 문자열이다. ii번째 줄의 jj번째 문자가 11이면 ii행 jj열의 격자는 흰색이고, 00이면 검은색이다. (1≤i≤N,1≤j≤M1 \le i \le N, 1 \le j \le M)

출력

첫 번째 줄에 가능한 파란색 격자의 최대 개수를 출력한다.

제한

  • 1≤N,M≤3 0001 \le N, M \le 3\,000
  • 주어지는 격자판에는 흰색 격자가 최소 2개 있다.

예제2

  1. 예제 1

    입력
    5 11
    10001000000
    01000100000
    00100110001
    00010101010
    00001000100
    
    예상 출력
    13
    
  2. 예제 2

    입력
    3 3
    111
    111
    111
    
    예상 출력
    6