python二分第三个测试TLE了,有大佬给点改进意见吗
查看原帖
python二分第三个测试TLE了,有大佬给点改进意见吗
493908
Breatha楼主2021/3/13 01:05
N, M = map(int, input().split())
height = list(map(int, input().split()))
start = 1
end = max(height)

def count(h):
    return sum([hi - h if hi >= h else 0 for hi in height])
    
while start <= end:
    mid = int((start + end) / 2)
    
    if count(mid) < M:
        end = mid - 1
    else:
        start = mid + 1
        ans = mid

print(ans)
2021/3/13 01:05
加载中...