求助
查看原帖
求助
1062630
chenhuazhang楼主2024/4/13 16:22

WA了第9,10,11项

#include<bits/stdc++.h>
using namespace std;
int d,n,m,a[50001],l,r,ans;
bool f(int x){
	int jr=0,i=0,now=0;
	while(i<n+1){
		i++;
		if(a[i]-a[now]<x)jr++;
		else now=i;
	}
	if(jr>m)return false;
	return true;
}
int main(){
	//freopen("1.in","r",stdin);
	//freopen("1.out","w",stdout);
	cin>>d>>n>>m;
	for(int i=1;i<=n;i++)cin>>a[i];
	a[n+1]=d;
	l=1;
	r=d;
	while(l<=r){
		int mid=(l+r)/2;
		if(f(mid)){
            ans=mid;
            l=mid+1;
        }
        else r=mid-1;
	}
	cout<<ans;
    return 0;
}
2024/4/13 16:22
加载中...