Subtask #1挂了 怎么办
查看原帖
Subtask #1挂了 怎么办
1042469
MXT20121010楼主2025/1/21 09:58
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define For(i,a,n) for(int i=a;i<=n;i++)
const int MAXN=5e4+5;
int n,m,L,a[MAXN];
bool check(int num)
{
	int idx=0,ans=0;
	For(i,1,n)
	{
		if(a[i]-idx<num) ans++;
		else idx=a[i];
	}
	return ans<=m;
}
int main()
{
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	cin>>L>>n>>m;
	For(i,1,n) cin>>a[i];
	int l=1,r=L,mid,ans=-1;
	while(l<=r)
	{
		mid=l+(r-l)/2;
		if(check(mid))
		{
			l=mid+1;
			ans=max(ans,mid);
		}
		else r=mid-1;
	}
	cout<<ans;
    return 0;
}
2025/1/21 09:58
加载中...