Aggressive cows
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 18599   Accepted: 8841

Description

Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stalls are located along a straight line at positions x1,...,xN (0 <= xi <= 1,000,000,000). 

His C (2 <= C <= N) cows don't like this barn layout and become aggressive towards each other once put into a stall. To prevent the cows from hurting each other, FJ want to assign the cows to the stalls, such that the minimum distance between any two of them is as large as possible. What is the largest minimum distance?

Input

* Line 1: Two space-separated integers: N and C 

* Lines 2..N+1: Line i+1 contains an integer stall location, xi

Output

* Line 1: One integer: the largest minimum distance

Sample Input

5 3
1
2
8
4
9

Sample Output

3

#include<stdio.h>
#include<algorithm>
#include<math.h>
using namespace std;
#define INF 999999999
const int MAX_N=100005;
int N,M;
int x[MAX_N];

//判断是否满足条件
bool C(int d)
{
    int last=0;
    for(int i=1;i<M;i++)
    {
        int crt=last+1;
        while(crt<N&&x[crt]-x[last]<d)
        {
            crt++;
        }
        if(crt==N)return false;
        last = crt;
    }
    return true;
}
void solve()
{
    sort(x,x+N);
    int lb=0,ub=INF;
    int mid;
    while(ub-lb>1)
    {
        mid=(lb+ub)/2;
        if(C(mid))lb=mid;
        else ub=mid;
    }
    printf("%d\n",lb);
}

int main()
{
    //freopen("C://Users/Administrator/Desktop/acm.txt","r",stdin);
    scanf("%d%d",&N,&M);
    for(int i=0;i<N;i++)
    {
        scanf("%d",&x[i]);
    }
    solve();
    return 0;
}

最新文章

  1. 【原】tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig的解决
  2. SPOJ - PLSQUARE Palin Squar(hash+回文串)
  3. 给flash添加A链接
  4. SweetAlert – 替代 Alert 的漂亮的提示效果
  5. [JAVA教程] 2016年最新spring4框架搭建视频教程 【尚学堂】
  6. C++Socket编程总结 [转]
  7. IDEA 编译时报错 “未结束的字符串文字” “解析时已经达到文件结尾”
  8. IE浏览器打开f12才正常
  9. 名词释义(ActiveMQ 和 Webservice)
  10. sublime text常用插件
  11. web前端笔试题
  12. (转)solr排序OOM解决方法
  13. CSS-div漂浮
  14. css 实现页面加载中等待效果
  15. Lucene文件扩展名
  16. Mac上使用jenkins+ant执行第一个程序
  17. Python基础之字符串拼接简单介绍
  18. &lt;转&gt;jmeter(二十三)分布式测试
  19. Kiss MySQL goodbye for development and say hello to HSQLDB
  20. [Shell]Bash基本功能:通配符与特殊符号

热门文章

  1. 错误:编码GBK的不可映射字符解决办法
  2. 最新省市区地区数据sql版本(2019年1月)
  3. ZuulServlet源码分析及ZuulFilter加载
  4. webpack 打包 UglifyJs 报错
  5. bagging and boosting
  6. Swift(三)基本运算符
  7. pl/sql 笔记之基础(上)
  8. jquery做的滑动按钮开关
  9. DNS解析综合学习案例(附详细答案)
  10. Nginx,LVS,HAProxy详解