Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
127570 | 柯昊阳 | 上古神器 | C++ | 通过 | 100 | 39 MS | 1032 KB | 508 | 2024-01-25 09:32:19 |
#include <bits/stdc++.h> using namespace std; long long n,m;long long a[100005]; bool check(int mid){ int tmp = a[0],cnt = 1; for(int i = 1;i<n;i++){ if(a[i]-tmp>=mid) { tmp = a[i],cnt++; } } if(cnt>=m) return true; return false; } int main(){ cin>>n>>m; for(int i = 0;i<n;i++){ cin>>a[i]; } sort(a,a+n); int l = 0; int r = 1000000006; while(l<r){ int mid = (l+r+1)/2; if(check(mid)){ l = mid; } else r = mid-1; } cout<<l<<endl; return 0; }