为啥l=0
查看原帖
为啥l=0
349798
BensonQAQ666楼主2021/8/22 15:56
#include<iostream>
using namespace std;
long long N,C,a[100001],l,r,mid;
long long check(long long x)
{
	long long i,y=0,z=0;
	for(i=1;i<=N;i++)
	{
		if(y==x)
		{
			z++;
			y=0;
		}
		y+=(a[i]-a[i-1]);
	}
	if(z>=C)
		return 1;
	else
		return 0;
}
int main()
{
	long long i;
	cin>>N>>C;
	for(i=1;i<=N;i++)
	{
		cin>>a[i];
		r=max(r,a[i]);
	}
	while(l<=r)
	{
		mid=l+r>>1;
		if(check(mid)==1)
			l=mid+1;
		else
			r=mid-1;
	}
	if(l==0)
	{
		cout<<"0";
		return 0;
	}
	cout<<l-1;
	return 0;
}
2021/8/22 15:56
加载中...