求助喵2
查看原帖
求助喵2
1182672
python18楼主2024/5/21 16:54
#include<bits/stdc++.h>
using namespace std;
long long a[1000050];
long long l,n,k;
bool check(long long s)
{
	long long ans=0,cnt=k;
	for(int i=1;i<n;i++)
	{
		if(cnt<0)
		{
			break;
		}
		
		if(a[i]-ans<=s)
		{
			ans=a[i];
			//cnt++;
		}
		else
		{
			ans+=s;
			i--;
			cnt--;
		}
	}
	return cnt>=0;
}
int main()
{
	scanf("%lld%lld%lld",&l,&n,&k);
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&a[i]);
	}
	long long left=1,right=1e8;
	while(left<right)
	{
		long long mid=(left+right)/2;
		if(!check(mid)) left=mid+1;
		else right=mid;
	}
	if(check(left)) printf("%lld\n",left);
	return 0;
} 















#5#8WA了 求大佬帮助

2024/5/21 16:54
加载中...