2 条题解

  • 2
    @ 2026-9-9 19:36:30

    #include<bits/stdc++.h> using namespace std; int n,m,a[100005]; int main(){ cin >> n >> m; for(int i = 0;i < n;i++){ cin >> a[i]; } sort(a,a + n); int l = 1,r = a[n - 1] - a[0],ans = 1; while(l <= r){ int mid = (l + r) >> 1; int cnt = 1,lst = a[0]; for(int i = 1;i < n;i++){ if(a[i] - lst >= mid){ cnt++; lst = a[i]; } } if(cnt >= m){ ans = mid; l = mid + 1; }else{ r = mid - 1; } } cout << ans << endl; return 0; } //二分贪心喵喵喵。

    信息

    ID
    91
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    13
    已通过
    5
    上传者