NC24017(Angry Cows(Silver) )

感受

思路

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
vector<ll> pos;
int n, num;
ll v;
bool check(ll R){
    if(R < 0) return false;
    ll c = pos[0]; int res = num - 1;
    while(true){
        auto it = upper_bound(pos.begin(), pos.end(), c + 2 * R);
        if(it == pos.end()) return true;
        if(!res) break;
        c = *it; res--;
    }
    return false;;
}
int main(){
    scanf("%d%d", &n, &num);
    for(int i = 1; i <= n; i++){
        scanf("%lld", &v);
        pos.push_back(v);
    }
    sort(pos.begin(), pos.end());
    ll l, r, mid;
    l = -1; r = 1e9;
    while(r - l > 1){
        mid = (l + r) / 2;
        if(check(mid)){
            r = mid;
        }
        else{
            l = mid;
        }
    }
    printf("%lld\n", r);
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-27 20:15
还能挽救吗?找同学帮忙看了一下&nbsp;字节怎么能如此对我
牛客26396789...:你这是严重红线,被发现你自己永远进不去,你那个同学直接走人,你还敢宣扬
点赞 评论 收藏
分享
05-26 09:07
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
06-27 18:45
中山大学 Ruby
25届应届毕业生,来广州2个礼拜了,找不到工作,绝望了,太难过了…
应届想染班味:9爷找不到工作只能说明,太摆了或者太挑了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务