@[ljk8886](/user/809979)
谢谢大佬
by hanxiaofensheng @ 2024-08-29 10:23:04
@[I_Love_Kobe](/user/1155991) 忘记说了,sum 要一开始赋值为 $1$。因为一开始就已经有 $1$ 头牛了
by ljk8886 @ 2024-08-29 10:23:29
@[I_Love_Kobe](/user/1155991)
```c
#include <bits/stdc++.h>
using namespace std;
int n, m;
int l[1000005];
bool check(int x)
{
int last = l[1], cnt = 1;
for(int i = 2; i <= n; i++)
{
if(l[i] - last >= x)
{
last = l[i];
cnt++;
}
}
return cnt >= m;
}
int main()
{
cin >> n >> m;
for(int i = 1; i <= n; i++)
{
cin >> l[i];
}
sort(l + 1, l + n + 1);
int l = 1, r = 1e9, ans = 0;
while(l <= r)
{
int mid = (l + r) / 2;
if(check(mid))
{
l = mid + 1;
ans = mid;
}
else
{
r = mid - 1;
}
}
cout << ans << endl;
return 0;
}
```
by hehe_666 @ 2024-09-08 09:59:43