进食后人:如果你 WA 并 58 分
查看原帖
进食后人:如果你 WA 并 58 分
355285
My__L楼主2025/2/5 20:09

如果你二分是这样写的:

int l=1,r=n;
while (l<r)
{
	int mid=(l+r+1)>>1;
	if (a[mid].num>=x) l=mid;
	else r=mid-1;
}
return l;

可能会喜提 58 分。把二分改成以下就能过了

int l=1,r=n;
while (l<=r)
{
	int mid=(l+r)>>1;
	if (a[mid].num>=x) l=mid+1;
	else r=mid-1;
}
return r;
2025/2/5 20:09
加载中...