100分但是还是有一个WA
查看原帖
100分但是还是有一个WA
1116551
liuweida0330楼主2024/1/12 13:09
#include<bits/stdc++.h>
using namespace std;
int l,n,m,a[50020];
bool panduan(int x){
	int cnt=0,f=a[0];
	for(int i=1;i<=n;i++){
		if(a[i]-f<x){
			cnt++;
			}
		else
			f=a[i];
		
	}
	if(cnt>m) return false;
	else return true;
}
int main(){
	cin>>l>>n>>m;
	for(int i=1;i<=n;i++)
	cin>>a[i];
	int left=1,right=l,mid,ans;
	while(left<=right){
		mid=(left+right)/2;
		if(panduan(mid)){
		left=mid+1;
		ans=mid;
	}
		else 
		right=mid-1;
	}
	cout<<ans;
}

2024/1/12 13:09
加载中...