랜선 자르기

랜선 자르기

Prob

K개의 랜선을 N개의 모두 같은 길이의 랜선으로 만들 수 있는 랜선 최대 길이
N개보다 많이 만드는 것도 N개를 만드는 것에 포함

Solv

K개의 랜선 X에서 mid를 나누어 모두 더한 값을 n이라 할 때,
n이 N이 되는 값 이분 탐색
low는 1로 high는 X의 총합에서 N을 나눈 값으로 설정
n\(>=\)N인 경우 low = mid+1
n\(<\)N인 경우 high = mid-1
low > high 일때까지 반복

Check

K=4 N=11
lan=[802 743 457 539]

midlowhighn
116123119
174116+123113
203174+123110
188175203-111
195188+120211
199195+120211
201199+120210
200200201-111
200200+120011

K=3 N=4
lan=[11 11 2]

midlowhighn
3166
53+164
65+162
66+162

K=2 N=4
lan=[50 200]

midlowhighn
311627
4731+1625
5547+1623
514855-13
494851-15
5049+1505
5050+1505

Ref


Modified by Sungbin Shim