https://www.acmicpc.net/problem/15810
시간 1초, 메로리 256MB
input :
output:
풍선을 만드는 시간, 스태프들에게 집중 하지 말고.
시간에 집중하자.
시간을 이분 탐색하며 가장 최댓값을 찾아내자.
N, M= map(int, sys.stdin.readline().split())
time = list(map(int, sys.stdin.readline().split()))
low = 1
high = 1000000000000
while low + 1 < high:
mid = (high + low) // 2
cnt = 0
for spend in time:
cnt += (mid // spend)
if cnt >= M:
high = mid
else:
low = mid
print(high)