这道题的答案不能直接推出来,要靠试出来,还是最小值最大问题,我们一般使用二分,这道题就是典型的二分例题。 我们先把输入的 xi 排序,得到牛之间距离可能的最大值 xn,使用二分验证 1~xn 间的数是否可行 写一个子程序 check,验证数据(具体见代码注释),然后要取的是最大的 T 值。 AC code: #include<bits/stdc++.h> using namespace std; int n, m, a[100001], low = 1, high, ans; bool check(int x)//验证数据 { int l = a[1], cnt = 1; ...