| ps | |
|---|---|
| 링크 | acmicpc.net/… |
| 출처 | BOJ |
| 문제 번호 | 8017 |
| 문제명 | Parcel |
| 레벨 | 플래티넘 5 |
| 분류 |
NGE |
| 시간복잡도 | O(n^2) |
| 인풋사이즈 | n<=2000 |
| 사용한 언어 | Python 3.13 |
| 제출기록 | 64144KB / 1476ms |
| 최고기록 | 1476ms |
| 해결날짜 | 2026/02/27 |
"""Solution code for "BOJ 8017. Parcel".
- Problem link: https://www.acmicpc.net/problem/8017
- Solution link: http://www.teferi.net/ps/problems/boj/8017
Tags: [subgrid]
"""
import sys
from teflib import seqtask
ARABLE = '0'
WASTE = '1'
def main():
n = int(sys.stdin.readline())
grid = [sys.stdin.readline().split() for _ in range(n)]
answer = 0
heights = [0] * n
for row in grid:
for i, v in enumerate(row):
heights[i] = heights[i] + 1 if v == ARABLE else 0
begs, ends = seqtask.max_ranges_for_each_min(heights)
answer = max(
answer,
*((end - beg) * h for beg, end, h in zip(begs, ends, heights)),
)
print(answer)
if __name__ == '__main__':
main()