某农场主管理了一大片果园,fields[i]表示不同果林的面积,单位:( m 2 m^2 m2),
现在要为所有的果林施肥且必须在 n 天之内完成,否则影响收成。
import math
def day_jisuan(k, fields):
days = 0
for i in range(len(fields)):
days += math.ceil(fields[i] / float(k))
return days
nums = list(map(int,input().split()))
n = nums[1]
fields = list(map(int,input().split()))
if n>len(fields):
fields.sort()
left = 0
right = fields[len(fields) - 1]
result = -1
while (left + 1 < right):
# 取中间位置的值作为效能k,
k = int(math.ceil(float(left + right) / 2))
res = day_jisuan(k, fields)
if (res - n > 0):
left = k
else:
result = k
right = k
print(result)
elif n == len(fields):
print(max(fields))
else:
print(-1)