2 条题解

  • 0
    @ 2024-12-30 13:11:20
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    const int inf=0x7fffffff;
    int n,m,a[100001];
    int solve(){
        int l=0,r=inf,mid,now,tot;
        while(l<r){
            mid=(l+r+1)>>1;
            now=a[1];
            tot=1;
            for(int i=2;i<=n;++i){
                if(a[i]-now>=mid)now=a[i],++tot;
                if(tot>=m)break;
            }
            if(tot<m)r=mid-1;
            else l=mid;
        }
        return l;
    }
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;++i)scanf("%d",&a[i]);
        sort(a+1,a+n+1);
        printf("%d",solve());
    }
    

    信息

    ID
    5879
    时间
    1000ms
    内存
    125MiB
    难度
    2
    标签
    递交数
    45
    已通过
    21
    上传者