너비가 같은 N개의 나무 판자를 붙여 세운 울타리가 있습니다. 시간이 지남에 따라 판자들이 부러지거나 망가져 높이가 다 달라진 관계로 울타리를 통째로 교체하기로 했습니다. 이 때 버리는 울타리의 일부를 직사각형으로 잘라내 재활용하고 싶습니다. 그림 (b)는 (a)의 울타리에서 잘라낼 수 있는 많은 직사각형 중 가장 넓은 직사각형을 보여줍니다. 울타리를 구성하는 각 판자의 높이가 주어질 때, 잘라낼 수 있는 직사각형의 최대 크기를 계산하는 프로그램을 작성하세요. 단 (c)처럼 직사각형을 비스듬히 잘라낼 수는 없습니다. 판자의 너비는 모두 1이라고 가정합니다.
문제 링크 - https://algospot.com/judge/problem/read/FENCE
'PROGRAMING' 카테고리의 다른 글
[c언어/c++] Longest Increasing Sequence - LIS 동적계획법 (0) | 2016.12.13 |
---|---|
[c언어/c++] 삼각형 위의 최대 경로 TRIANGLEPATH 동적계획법 (0) | 2016.12.13 |
[c언어/c++] 외발뛰기 JUMPGAME - 동적계획법 (0) | 2016.12.13 |
[c언어/c++] Synchronizing Clocks - CLOCKSYNC (조합탐색) (0) | 2016.12.08 |
[c언어/c++] 소풍 (PICNIC) - 완전 탐색 알고리즘 (경우의 수) (0) | 2016.12.07 |