WA30分求助
查看原帖
WA30分求助
1121412
Cute_Fish楼主2023/10/16 19:45

rt

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int ll
#define mm(x) memset(x,0,sizeof(x))
#define hh puts("")
const int N=1e5+7;
int l,n,m,a[N];
bool f(int x){
	int cnt=0,sum=0;
	for(int i=1;i<=n;i++){
		if(a[i]-sum<x)cnt++;
		else sum=a[i];
	}
	return cnt<=m;
}
signed main(){
//	freopen("a.in","r",stdin);
//	freopen("a.out","w",stdout);
	cin>>l>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	n++;
	a[0]=0;
	a[n+1]=l;
	int L=0,r=l,ans=0;
	while(L<=r){
		int mid=(L+r)/2;
		if(f(mid))ans=mid,L=mid+1;
		else r=mid-1;
	}
	cout<<ans<<"\n";
}
2023/10/16 19:45
加载中...