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; } //二分贪心喵喵喵。

    • -1
      @ 2025-3-26 21:25:48
      • 1

      信息

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