https://www.acmicpc.net/problem/16401
코드
m, n = map(int, input().split())
l = list(map(int, input().split()))
s, e = 1, max(l)
ans = 0
while s <= e:
mid = (s+e)//2 # 과자 길이
# 길이 mid로 잘랐을 때 만들 수 있는 과자 개수 구하기
total = 0
for i in range(n):
total += l[i]//mid
if total >= m:
s = mid+1
ans = mid
else:
e = mid-1
print(ans)
'문제풀이 > 이분탐색' 카테고리의 다른 글
[Python/파이썬] 백준 17393번 다이나믹 롤러 (0) | 2025.01.25 |
---|---|
[Python/파이썬] 백준 16564번 히오스 프로게이머 (0) | 2024.06.17 |
[Python/파이썬] 백준 6236번 용돈 관리 (0) | 2024.05.25 |
[Python/파이썬] 백준 15823번 카드 팩 구매하기 (0) | 2024.05.09 |
[Python/파이썬] 백준 1114번 통나무 자르기 (1) | 2024.04.19 |