빌딩 높이
시간 제한2초메모리 제한512 MB
1번 건물의 높이가 0이고 이웃한 건물 높이 차가 K 이하일 때, M개의 높이 상한을 지키면서 세울 수 있는 가장 높은 건물의 높이를 구한다.
문제
빌딩 개를 일렬로 새로 짓는다. 왼쪽부터 차례대로 1번부터 번까지 번호를 붙인다.
빌딩 높이에는 다음 제한이 있다.
- 모든 빌딩의 높이는 음이 아닌 정수이다.
- 1번 빌딩의 높이는 0이다.
- 이웃한 두 빌딩의 높이 차이는 이하이다.
- 번 빌딩의 높이는 이하이다.
제한을 모두 지키면서 지을 수 있는 가장 높은 빌딩의 높이를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 과 가 주어진다. ()
둘째 줄에 높이 제한이 걸린 빌딩의 개수 이 주어진다. ()
이 1 이상이면 셋째 줄에 이, 넷째 줄에 이 공백으로 구분되어 주어진다. (, , ) 이 0이면 셋째 줄과 넷째 줄은 주어지지 않는다.
출력
제한을 모두 지키면서 지을 수 있는 가장 높은 빌딩의 높이를 출력한다.