최대한 많은 같은 양의 파를 쓰고 남은 파의 길이 구하기. 1개의 파닭에 1개이상의 파가 들어가면 안된다.
- s, c : 파의 갯수, 파닭의 수
- s줄 파의 길이
- 입력을 받는다.
- 파의 최소 길이와 최대 길이를 정의한다.
- 최대 길이는 가장 짧은 파의 길이면 안된다.
- 최대한 많은 같은 양의 파의 길이를 기록 할 변수를 선언한다.
- 이분탐색을 수행한다.
- 체크할 파의 길이 중심값을 구한다.
- 이 파의 길이로 파닭에 1개 이상의 파가 넘지 않도록 주문 수를 충족하면 변수에 기록하고 더 많은 양을 사용 할 수 있는지 체크하기 위해서 최소값을 갱신한다.
- 조건이 충족되지 않으면 더 작은 양으로 체크하기 위해서 최대값을 갱신한다.
- 전체 길이를 구하고 (3)에서 선언한 변수x파의 갯수를 뺀 길이를 반환한다.
- BigInt로 풀면 느리다.
- 최대값(right)을 정의할 때 1개 이상의 파가 들어가면 안되니까 가장 짧은 파의 길이라고 생각했는데 틀렸다. 가장 긴 길이나 0번째 파의 길이로 하면 통과한다.
- 이분탐색에서 체크하면서 sum 값을 같이 구하는게 더 느리다.