给定n根木头,第i根长度为a[i],对应Python实现代码如下:
def check(a, m, x):
cnt = 0
for length in a:
if x == 0:
return True
cnt += length // x
if cnt >= m:
return True
return cnt >= m
def main():
import sys
input = sys.stdin.read().split()
idx = 0
n = int(input[idx])
idx += 1
m = int(input[idx])
idx += 1
a = []
mx = 0
for _ in range(n):
num = int(input[idx])
idx += 1
a.append(num)
mx = max(mx, num)
l = 1
r = mx
ans = 0
while l <= r:
mid = l + (r - l) // 2
if check(a, m, mid):
ans = mid
_______________
else:
_______________
print(ans)
if __name__ == "__main__":
main()