其他分享
首页 > 其他分享> > NC24017 [USACO 2016 Jan S]Angry Cows

NC24017 [USACO 2016 Jan S]Angry Cows

作者:互联网

题目

1.题目大意

2.题目分析

3.题目代码

#include <bits/stdc++.h>

using namespace std;

int n, k;
int x[50004];

bool check(int r){
    int sum = 1;
    int left = x[0] + r;
    for(int i=1;i<n;i++){
        if(x[i]-r>left)
        {
            sum++;
            left = x[i] + r;
        } 
        if(sum>k)
            return false;
    }
    return true;
}

int main() {
    cin >> n >> k;
    for(int i=0;i<n;i++)
        cin >> x[i];
    sort(x,x+n);
    int l = 0;
    int r = x[n-1];
    int ans;
    while(l<=r){
        int mid = (l + r) / 2;
        if(check(mid)){
            ans = mid;
            r = mid - 1;
        } else {
            l = mid + 1;
        }
    }
    cout << ans << endl;
}

标签:NC24017,题目,int,Angry,USACO,x2,x1,sum,left
来源: https://www.cnblogs.com/zhangyi101/p/16546126.html