二分的上下界取法: 首先在check函数中,我们以返回合法情况为默认条件时, 当求某个值的最大合法值,说明比它小的都是合法的,所以我们是求合法条件的上界,即返回非法条件的下界-1,所以返回l 当求某个值的最小合法值,说明比它大的都是合法的,所以我们是求合法条件的下界,即返回非法条件的上界+1,所以返回r