第11167题 单选
给定以下Python代码,程序的运行结果是什么?
def check(n, a, k, dist):
    cnt = 1
    last = a[0]
    for i in range(1, n):
        if a[i] - last >= dist:
            cnt += 1
            last = a[i]
    return cnt >= k

def solve(n, a, k):
    a.sort()
    l = 0
    r = a[-1] - a[0]
    while l < r:
        mid = (l + r + 1) // 2
        if check(n, a, k, mid):
            l = mid
        else:
            r = mid - 1
    return l

if __name__ == "__main__":
    a = [1, 2, 8, 4, 9]
    n = 5
    k = 3
    result = solve(n, a, k)
    print(result)
A

2

B

3

C

4

D

5