https://www.acmicpc.net/problem/2792
import sys
input = sys.stdin.readline
N, M = map(int, input().split(" "))
li = list()
for _ in range(M):
li.append(int(input()))
start = 1
end = max(li)
dap = 0
while start <= end:
mid = (start+end)//2
# 나눠가지는 사람 수
sum = 0
for i in li:
sum += i//mid
if i%mid != 0:
sum += 1
# 사람 수가 N보다 크면 나눠가지는 보석 +
if sum > N:
start = mid+1
# 아니면 -
else:
end = mid-1
dap = mid
print(dap)'코딩테스트 > 코딩테스트 문제풀이' 카테고리의 다른 글
| [Python] 백준 <1309-동물원> (0) | 2025.06.22 |
|---|---|
| [Python] 백준 <4889-안정적인 문자열> (0) | 2025.06.21 |
| [Python] 백준 <9375-해적왕 신해빈> (0) | 2025.06.11 |
| [Python] 백준 <1966-프린터 큐> (0) | 2025.06.11 |
| [Python] 백준 <1058-친구> (0) | 2025.06.09 |