어떤 블루레이 개수로 녹화 할 때 강의의 순서를 지키고 최소의 크기가 되는지를 결정하는 이분탐색 문제
- n개의 강의 수와 m개의 블루레이 수
- 강의의 길이
- 입력을 받는다.
- 최소값과 최대값을 정의한다.
- 반환할 최소 블루레이의 녹화 길이를 초기화한다.
- 이분탐색을 수행한다.
- 중간값을 정의한다.
- 블루레이 녹화 길이가 중간값일 때 강의의 순서를 지키는지 체크한다.
- 강의가 순서를 지키면서 녹화가 가능하면 더 작은 값으로도 가능한지 확인하기 위해 최대값을 갱신한다. 이때 반환할 블루레이의 녹화 길이도 갱신한다.
- 강의의 순서가 지켜지지 않으면 더 큰 길이로 녹화해야 하므로 최소값을 갱신한다.
- 블루레이 녹화 길이를 반환한다.
- recordable 함수에서 time에 녹화한 강의 시간을 누적하다가 value 보다 크면 count를 1 증가시키고 time 을 강의 시간으로 갱신하는데 강의 시간이 value 보다 클 수 있기 때문에 count를 1만 증가시키면 안되고 몫을 구해서 올림한 만큼 더해야 한다.
7 7
5 9 6 8 7 7 5
wron answer : 5 answer: 9