3 條題解
-
1
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int a[N]; int n,m; bool check(int x) { int last=a[1],cnt=1; for(int i=2;i<=n;i++) { if(a[i]-last>=x) { cnt++; last=a[i]; } } return cnt>=m; } int main() { cin>>n>>m; for(int i=1;i<=n;i++) { cin>>a[i]; } sort(a+1,a+n+1); int l=0,r=a[n]; while(l<r) { int mid=l+r+1>>1; if(check(mid)) l=mid; else r=mid-1; } cout<<l; return 0; }
資訊
- ID
- 955
- 時間
- 1000ms
- 記憶體
- 256MiB
- 難度
- 5
- 標籤
- (無)
- 遞交數
- 26
- 已透過
- 12
- 上傳者