听取WA声一片
查看原帖
听取WA声一片
137723
pencil楼主2020/10/24 08:36
#include<bits/stdc++.h>
using namespace std;
int minn[50010],a[50010],m,l;//idx=1,
bool compare(int oi) {
	int i,o=0,iee=0;
	for(i=1; i<=m; i++) {
		if(a[i]-iee<oi)
		o++;
		else
		iee=a[i];
	}
	if(l-iee<oi)o++;
	return o<=m;
}
int main() {
	int iee,n,jump=0,i,i2;
	memset(minn,0x3f,sizeof(minn));
	cin>>l>>n>>m;
	cin>>a[1];
	for(i=2; i<=n; i++) {
		cin>>a[i];
//		compare(a[i]-a[i-1],i);
	}
	sort(a+1,a+n+1);
	int r=n,l2=1,mid;
	while(r>l2){
		mid=(r+l2)/2;
		if(compare(mid))l2=mid+1;
		else r=mid;
	}
	cout<<l2;
//	for(i=1; i<=m; i++) {
//		a[s[i]]=-1;
//	}
//	for(i=1; i<n-m; i++) {
//		if(a[i+1]==-1) {
//			iee=a[i];
//			i++;
//			continue;
//		} else
//			iee=a[i];
//		jump=max(a[i+1]-iee,jump);
//	}
//	for(i=1; i<=n; i++)cout<<minn[i]<<" ";
//	cout<<jump;
	return 0;
}
2020/10/24 08:36
加载中...