二分答案模板

// ans为第一个符合条件的答案 
while l<=r :
    mid = (l+r) // 2
    if ck(mid)==False :
        l = mid+1
    else:
        ans = mid
        r = mid-1
print(ans)

// ans为最后一个符合条件的答案 
while l<=r :
    mid = (l+r) // 2
    if ck(mid)==True :
        ans = mid
        l = mid+1
    else:
        r = mid-1
print(ans)
原文地址:https://www.cnblogs.com/xiaoxiao179/p/13520907.html