40pts 求调
查看原帖
40pts 求调
1155991
I_Love_Kobe楼主2024/8/30 08:56

代码:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,c,a[100015],l,r;
bool check(int mid){
    int sum=1;
    for(int x=1,y=2;y<=n;y++){
        if(a[y]-a[x]>=mid){
            sum++;
            x=y;
        }
    }
    return sum>=c;
}

signed main(){
    cin>>n>>c;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    sort(a+1,a+1+n);
    r=a[n];
    while(l<r){
        int mid=(l+r)>>1;
        if(check(mid)){
            l=mid+1;
        }
        else{
            r=mid-1;
        }
    }
    cout<<l;
    return 0;
}
2024/8/30 08:56
加载中...