40分TLE求救
查看原帖
40分TLE求救
943498
wangshenluogu楼主2024/7/10 13:37

提交记录:https://www.luogu.com.cn/record/165010399

代码:

#include<bits/stdc++.h>
using namespace std;
int n,m,a[1000001];
bool pd(int x){
	int num=1,last=1;
	for(int i=2;i<=n;i++){
		if(a[i]-last>=x){
			last=a[i];
			num=num+1;
		}
	} 
	return num>=m;
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
    sort(a+1,a+n+1);
	int left=1,right=1000000000,mid,ans;
	while(left<right){
		mid=left+(right-left)/2;
		if(pd(mid)){
			ans=mid; 
			left=mid;
		}else{
			right=mid-1;
		}
	}
	cout<<ans;
	return 0; 
}

本帖禁止无意义回复,请提供有效帮助。

2024/7/10 13:37
加载中...