7 条题解

  • 1
    @ 2024-12-1 18:45:02
    
    ```#include <bits/stdc++.h>
    using namespace std;
    #define LL long long
    #define ull unsigned long long
    const int N=1e5+10;
    const int INF=0x3f3f3f3f;
    const double pi=3.1416;
    int n,m,a[N],l,r,ans;
    bool check(int mid){
    int sum=1;
    int last=a[1];
    for(int i=2;i<=n;i++){
    if(last+mid<=a[i]){
    last=a[i];
    sum++;
    }
    }
    return sum>=m;
    }
    int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
    cin>>a[i];
    }
    sort(a+1,a+n+1);
    l=1;
    r=a[n]-a[1];
    while(l<=r){
    int mid=(l+r)>>1;
    if(check(mid)){
    ans=mid;
    l=mid+1;
    }else{
    r=mid-1;
    }
    }
    cout<<ans<<endl;
    return 0;
    }
    
    

    信息

    ID
    357
    时间
    1000ms
    内存
    512MiB
    难度
    7
    标签
    递交数
    404
    已通过
    100
    上传者