测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A60998. 下面程序的运行结果为( )。1 def check(n, a, k, dist)

单选题

题目描述

下面程序的运行结果为( )。

1 def check(n, a, k, dist):
2  cnt = 1
3  last = a[0]
4
5  for i in range(1, n):
6   if a[i] - last >= dist:
7    cnt += 1
8    last = a[i]
9
10  return cnt >= k
11
12 def solve(n, a, k):
13  a.sort()
14
15  l = 0
16  r = a[-1] - a[0]
17
18  while l < r:
19   mid = (l + r + 1) // 2
20   if check(n, a, k, mid):
21    l = mid
22   else:
23    r = mid - 1
24
25  return l
26
27 if __name__ == "__main__":
28  a = [1, 2, 8, 4, 9]
29  n = 5
30  k = 3
31  result = solve(n, a, k)
32  print(result)


选项(单选)