2024년 4월 3일 알고리즘 문제풀이
문제
난이도
실버 2
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import sys
k,n = map(int,sys.stdin.readline().split())
lan = []
for _ in range(k):
lan.append(int(sys.stdin.readline()))
low = 0
high = 2**31-1
while low <= high:
mid = (low+high)//2
cnt = 0
for thing in lan:
cnt += thing//mid
if cnt >= n:
low = mid+1
else:
high = mid-1
print((high+low)//2)
생각보다 평범한 이진탐색문제였다.