Written on
·
180
0
아래와 같이 풀어서 채점프로그램은 통과했는데요,
강의에서 강사님이 lt=1로 두셨길래 저도 lt 값을 1로 바꿔봤더니 오답으로 나오네요..
무슨 차이인지 모르겠습니다.
import sys
#sys.stdin=open("input.txt", "rt")
n, m = map(int, input().split())
l=[]
for i in range(n) :
l.append(int(input()))
lt=0
rt=max(l)
while lt <= rt :
sum=0
res = (rt + lt) // 2
for x in l :
sum += (x // res)
if sum >= m :
lt = res+1
else :
rt = res-1
print(res)
Answer 1
0
안녕하세요^^
저도 왜 lt=0으로 하면 답이 나오는지 모르겠네요.
하지만 코드를 정석으로 짠다면 res를 출력하면 안되고 res값을 다른 곳에 저장해야 합니다.
res는 (rt+lt)//2로 값이 항상 변하는 변수입니다.