这代码...
查看原帖
这代码...
734720
Lijunzhuo楼主2024/3/16 14:10
#include<bits/stdc++.h>
using namespace std;
const int N=50005,M=N;
int L,n,m,A[N],l,r,mid,ans;
bool check(int k)
{
	ans=0;
	int ll,now;
	while(ll<=n)
	{
		ll++;
		if(A[ll]-A[now]<k) ans++;
		else now=ll;
	}
	return ans<=m;
}
int main()
{
	scanf("%d%d%d",&L,&n,&m);
	for(int i=1;i<=n;i++)
		scanf("%d",&A[i]);
	A[++n]=L;
	l=0,r=1000000000;
	while(l<=r)
	{
		printf("%d %d\n",l,r);
		mid=(l+r)>>1;
		if(check(mid)) l=mid+1;
		else r=mid-1;
	}
	printf("%d\n",l);
	return 0;
} 

为什么printf("%d %d\n",l,r);加与不加的结果不一样?

2024/3/16 14:10
加载中...