• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

선생님 이렇게 작성해도 괜찮을까요?

21.10.13 01:38 작성 조회수 106

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);

맥북이라 채점기가 없어 혹시 오류가 있거나 시간이 초과되는지 궁금합니다. 이렇게 작성은 했지만 선생님 코드를 최대한 참고하겠습니다.

답변 1

답변을 작성해보세요.

1

안녕하세요^^

잘 하셨는데 3번과 4번 케이스가 통과가 되지 않습니다. 

count값이 n보다 클 때도 답으로 간주하셔야 합니다.