各位看一下我这个代码能不能改:
查看原帖
各位看一下我这个代码能不能改:
742157
ZYK_luogu楼主2023/4/9 20:21

这份代码是按照深入浅出上敲的

#include<iostream>
#include<algorithm>
using namespace std;
#define maxn 100005
#define INF 1e9

int n, c;
int a[maxn];

// 当间距为d时能否成立 
bool P(int d) {
	int k = 0, last = -INF; // last记录上一头牛的坐标 
	for(int i = 1; i <= n; i ++)
		if(a[i] - last >= d)
			last = a[i], k ++;
	return k >= c;
}

int main() {
	cin >> n >> c;
	for(int i = 1; i <= n; i ++) 
		cin >> a[i];
	sort(a + 1, a + n + 1);
	int L = 0, R = INF, ans, mid;
	while(L <= R) 
		if(P(mid = L + R >> 1))
			ans = mid, L = mid + 1;
		else
			R = mid - 1;
	cout << ans;
	return 0;
}

请问一下P函数中的last是不是必须为-INF,其他值行不行?

2023/4/9 20:21
加载中...