페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#5941

액자 안의 가장 큰 수 4초 1024MB

문제

N \times M 크기 배열로 배치된 숫자가 가득 쓰여진 벽이 있고, R \times S 크기의 액자가 있다.

i번째 행과 j번째 열의 숫자가 기준이 되어 액자의 왼쪽 상단 모서리에 오고 액자의 테두리가 벽의 가장자리와 평행하도록 액자를 벽에 걸려고 한다.

액자를 벽에 걸 수 있는 경우의 수가 여럿 있을 수 있는데, 액자 안에는 언제나 정확히 R \times S개의 숫자가 들어간다.

가장 왼쪽 상단 모서리를 기준으로 하여 액자를 거는 경우부터 순차적으로 벽에 있는 액자를 걸 수 있는 가능한 모든 위치에 대해 액자를 한 번씩 걸어 보았을 때, 해당 액자 안에 들어오는 수 중 가장 큰 수를 순서대로 알아보자.


입력

첫 번째 줄에 벽에 있는 숫자 배열의 행과 열 수인 두 정수 NM이 주어진다. (1 ≤ N, M ≤ 4 000)

다음 N개의 행 각각에는 M개의 정수 a_{i,j}(|a_{i,j}| ≤ 10 000)가 주어진다. 여기서 a_{i,j}는 벽에 있는 숫자 배열의 i번째 행과 j번째 열에 있는 숫자입니다.

마지막 줄에는 액자의 크기인 두 개의 정수 RS가 주어진다. (1 ≤ R ≤ N, 1 ≤ S ≤ M)


출력

액자에 들어가는 수 중 최댓값을 순서대로 출력한다.


부분문제

번호 점수 조건
#112점

N, M ≤ 40, R = N, S = M

#217점

N,M ≤ 40

#325점

N,M ≤ 1 000

#446점

추가 제한 없음


예제1

입력
3 3
1 1 2
2 3 4
4 3 2
3 3
출력
4

프레임은 테이블 전체를 벽에 걸 수 있을 만큼 큽니다. 액자 안의 가장 큰 숫자는 4입니다.


예제2

입력
3 3
1 1 2
2 3 4
4 3 2
2 1
출력
2 3 4
4 3 4

가능한 모든 액자의 위치는 아래 그림에 나와 있습니다. 각 위치의 가장 큰 숫자는 빨간색으로 표시됩니다.


예제3

입력
5 5
-1 -3 -4 -2 4
-8 -7 -9 -10 11
5 2 -8 -2 1
13 -3 -2 -6 -9
11 6 2 7 4
2 3
출력
-1 -2 11
5 2 11
13 2 1
13 7 7

출처

COCI 2023/2024 Contest #1 3번

역링크 공식 문제집만