작성
·
148
0
k, n = map(int, input().split());
a = [];
for _ in range(k):
a.append(int(input()));
lt = 0;
rt = max(a) + 1;
res = float("-inf");
while lt <= rt:
mid = (lt+rt)//2;
count = 0;
for i in range(k):
count += a[i]//mid;
if count < n:
rt = mid -1;
elif count > n:
lt = mid +1;
else:
lt = mid +1;
res = max(res, mid);
print(res);
맥북이라 채점기가 없어 혹시 오류가 있거나 시간이 초과되는지 궁금합니다. 이렇게 작성은 했지만 선생님 코드를 최대한 참고하겠습니다.