2 条题解
-
0
#include<bits/stdc++.h> using namespace std; int n,m; int a[100005]; int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1); int l=1,r=a[n]-a[1]; while(l<r){ int mid=(l+r+1)/2,cnt=1,k=a[1]; for(int i=2;i<=n;i++){ if(a[i]-k>=mid)cnt++,k=a[i]; } if(cnt>=m)l=mid; else r=mid-1; } cout<<l; return 0; }
信息
- ID
- 916
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 21
- 已通过
- 20
- 上传者