标签:
| Time Limit: 1000MS | Memory Limit: 65536K | |
| Total Submissions: 11192 | Accepted: 5492 |
Description
Input
Output
Sample Input
5 3 1 2 8 4 9
Sample Output
3
Hint
Source
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN = 100000+5;
int a[MAXN];
int n, c;
bool ok(int d)
{
int pre = 0;
for(int i = 1; i < c; ++i){
int cur = pre+1;
while(cur < n && a[cur]-a[pre] < d)
++cur;
if(cur == n)
return false;
pre = cur;
}
return true;
}
int main()
{
scanf("%d%d", &n, &c);
for(int i = 0; i < n; ++i)
scanf("%d", &a[i]);
sort(a, a+n);
int l = 0, r = 0x7fffffff;
while(r-l > 1){
int mid = (l+r)/2;
if(ok(mid)) l = mid;
else r = mid;
}
printf("%d\n", l);
return 0;
}
标签:
原文地址:http://www.cnblogs.com/inmoonlight/p/5747124.html