poj2456 Aggressive cows

来源:互联网 发布:王大治知乎 编辑:程序博客网 时间:2024/06/08 04:49
#include <iostream>#include <algorithm>using namespace std;const int MAX_N = 1e5 + 10;const int INF = 0x3f3f3f3f;int N, M;int x[MAX_N];bool C (int d){int last = 0;for (int i = 1; i < M; i++){int crt = last + 1;while (crt < N && x[crt] - x[last] < d) crt++;if (crt == N) return false;last = crt;}return true;}void solve(){// 最开始时对x数组排序sort(x, x + N);// 初始化解的存在范围int lb = 0, ub = INF; // [lb, ub)while (ub - lb > 1) {int mid = (lb + ub) / 2;if (C(mid)) lb = mid;else ub = mid;  }cout << lb << endl;}int main(){cin >> N >> M;for (int i = 0; i < N; i++)cin >> x[i];solve();return 0;}