求助(玄关)
查看原帖
求助(玄关)
1248477
zhujingy楼主2024/4/21 17:33

70分,第4,7,11WA了

#include<bits/stdc++.h>

using namespace std;

int a[50005];
int L,n,c;
int p;

bool check(int m)
{
	int k=a[1];
	int num=0;
	for(int i=2;i<=n+1;i++){
		if(a[i]-k<m)num++;
		else k=a[i];
		if(num>c)return false;
	}
	return true;
}

int main()
{
	cin>>L>>n>>c;
	if(n==c){
		cout<<L<<endl;
		return 0;
	}
	c-=1;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	a[n+1]=L;
	int l=1,r=L;
	while(l<r){
		int mid=(l+r+1)/2;
		if(check(mid))l=mid;
		else r=mid-1;
	}
	cout<<l<<endl;
	return 0;
}
2024/4/21 17:33
加载中...