2 条题解
-
2
#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
信息
- ID
- 91
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 13
- 已通过
- 5
- 上传者