아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

광고 전광판

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

요약
0과 1로 된 행렬에서 최대 s개의 0을 1로 바꾸고 최대 r개의 행을 통째로 비울 수 있을 때 만들 수 있는 가장 큰 1로만 이루어진 부분 직사각형의 넓이를 구한다.
난이도

어려움10점 중 8점

유형
슬라이딩 윈도우, 투 포인터, 이분 탐색, 누적 합
정답자
아직 제출이 없습니다

문제

"하둡 광고"는 오래전부터 도시 곳곳에 대형 LED 전광판을 설치해 왔다. 전광판은 LED 다이오드를 직사각형으로 늘어놓은 장치로, 중앙 제어 보드에 연결된 LED 행 mm개로 이루어진다. LED 행 하나는 픽셀 역할을 하는 LED 다이오드 nn개가 달린 얇은 회로다.

품질이 낮은 탓에 회사 전광판에는 고장 난 다이오드가 많다. 수석 전자 엔지니어인 당신이 전광판 수리를 맡았다. 전광판은 낡았고 한 대에 쓸 수 있는 예비 부품 재고도 한정되어 있다. 예비 부품은 두 종류다. 하나는 고장 난 픽셀 하나를 고치는 LED 다이오드 낱개이고, 다른 하나는 전광판의 한 행을 통째로 바꾸는 LED 행이다. 예비 행을 하나 쓰면 그 행의 픽셀이 모두 정상이 되고, 예비 다이오드를 하나 쓰면 고장 난 픽셀 하나가 정상이 된다. 전광판 한 대에 예비 행은 최대 rr개, 예비 다이오드는 최대 ss개까지 쓸 수 있다.

회사는 고장 난 픽셀이 하나도 없는 직사각형 영역에만 광고를 띄우고 나머지는 꺼 둔다. 예비 부품을 써서 고장 난 픽셀이 없는 영역을 가장 넓게 만들었을 때 그 넓이를 구하라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 공백으로 구분된 음이 아닌 정수 네 개가 주어진다. 차례대로 행의 수 mm, 한 행에 달린 LED 다이오드의 수 nn, 예비 행의 수 rr, 예비 다이오드의 수 ss다. 이어지는 mm개의 줄에는 전광판의 각 행 상태가 위에서 아래로 주어지며, 한 줄에는 공백으로 구분된 숫자 nn개가 있다. 1은 정상 픽셀, 0은 고장 난 픽셀을 뜻한다. mm과 nn은 1 이상 300 이하, rr은 0 이상 300 이하, ss는 0 이상 90000 이하다. 테스트 케이스는 20개 이하이고, 모든 테스트 케이스의 m×nm \times n 합은 90000 이하다. 입력의 마지막 줄은 0 0 0 0이며 이 줄은 처리하지 않는다.

출력

전광판마다 수리를 끝낸 뒤 고장 난 픽셀이 하나도 없는 직사각형 영역이 가질 수 있는 최대 픽셀 수를 한 줄에 하나씩 출력한다.

예제2

  1. 예제 1

    입력
    5 7 1 1
    1 1 1 1 1 0 0
    0 0 0 0 0 1 1
    1 1 1 0 1 0 0
    1 1 1 1 1 0 1
    1 1 1 1 1 1 1
    4 4 3 4
    0 0 0 0
    0 0 0 0
    0 0 0 0
    0 0 0 0
    5 5 1 2
    1 0 1 0 1
    0 1 0 1 0
    1 0 1 0 1
    0 1 0 1 0
    1 0 1 0 1
    0 0 0 0
    
    예상 출력
    25
    16
    10
    
  2. 예제 2

    입력
    1 1 0 0
    0
    1 1 0 1
    0
    1 1 1 0
    0
    1 1 0 0
    1
    0 0 0 0
    
    예상 출력
    0
    1
    1
    1