向上找最小值 和 向下找最大值

__int128 li = -2e18,ri = 2e18;   //向上找最小值 
	while(li<ri) {
		__int128 mid = (li+ri-1)/2;
		if(a+mid*m>=l) ri=mid;
		else li = mid+1;
	}
__int128 lj = -2e18,rj = 2e18;   //向下找最大值 
	while(lj<rj) {     
		__int128 mid = (lj+rj+1)/2;
		if(a+mid*m<=r) lj=mid;
		else rj = mid-1;
	}
posted @ 2024-01-06 17:30  yufan1102  阅读(5)  评论(0编辑  收藏  举报