최대 부분 행렬 합
면접 대비시간 제한0.2초메모리 제한1024 MB
N×M 정수 행렬에서 연속된 직사각형 부분행렬의 합이 가장 큰 값을 구합니다. 빈 부분행렬도 허용됩니다.
문제
크기의 행렬 가 주어진다. 이 행렬에서 부분 직사각형 행렬의 합이 가장 큰 값을 구하라.
여기서 부분 직사각형 행렬은 행렬 에서 직사각형 영역을 골라 얻은 연속된 부분 행렬이다. 두 쌍의 인덱스 와 사이에 있는 모든 행과 열을 포함한다. 단, 이고 이다. 빈 부분 행렬도 허용한다.
입력
입력의 첫 줄에 행렬의 크기를 나타내는 공백으로 구분된 정수 과 이 주어진다. ( )
이어지는 개의 줄에는 각 줄마다 공백으로 구분된 개의 정수로 행렬의 값이 주어진다. 번째 줄의 번째 정수가 이다. ()
출력
부분 직사각형 행렬의 합의 최댓값을 한 줄에 출력한다.
힌트
(서강대 학생을 위한 안내입니다.) 이 문제는 일반 프로그래밍 대회 형식에 맞추어 변형한 문제이다. 시험에서의 원래 배점은 다음과 같았다.
- 부분문제 1: 점.
- 부분문제 2: 점.
- 부분문제 3: 점.
- 부분문제 4: 점.