第11个测试点wa了,dalao求助
查看原帖
第11个测试点wa了,dalao求助
237205
maverick123楼主2023/6/25 16:31
#include<bits/stdc++.h>
using namespace std;
const int N=5*1e4;
int d[N];
int l,n,m,max,dis;
bool f(int mid){
	int s=0,now=0;
	d[0]=0; 
	for(int i=1;i<=n;i++){
		if(d[i]-d[now]<mid) s++; 
		else now=i;
	}
	if(l-d[n]<mid) s++;
	if(s>m) return false;
	else return true;
}
int main(){
	scanf("%d%d%d",&l,&n,&m);
	if(n==0){printf("%d",l); return 0;}
	for(int i=1;i<=n;i++) scanf("%d",&d[i]);
	int left=0,right=l/(n-m),mid;
	while(left<right){
		mid=left+(right-left)/2;
		if(f(mid)){left=mid+1; dis=mid;} 
		else right=mid;
	} 
	printf("%d",dis);
	return 0;
} 
2023/6/25 16:31
加载中...