这份代码是按照深入浅出上敲的
#include<iostream>
#include<algorithm>
using namespace std;
#define maxn 100005
#define INF 1e9
int n, c;
int a[maxn];
bool P(int d) {
int k = 0, last = -INF;
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,其他值行不行?