描述
农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 <= xi <= 1,000,000,000).
但是,John的C (2 <= C <= N)头牛们并不喜欢这种布局,而且几头牛放在一个隔间里,他们就要发生争斗。为了不让牛互相伤害。John决定自己给牛分配隔间,使任意两头牛之间的最小距离尽可能的大,那么,这个最大的最小距离是什么呢?

输入
有多组测试数据,以EOF结束。
第一行:空格分隔的两个整数N和C
第二行——第N+1行:分别指出了xi的位置
输出
每组测试数据输出一个整数,满足题意的最大的最小值,注意换行。
样例输入
5 3
1
2
8
4
9
样例输出
3
来源
POJ 翻译
上传者
TC_张友谊

贪心想法:二分寻找最适当的差值

wa了很多次,后来发现,左右初始值应该0与最大差值

#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<string>
#include<string.h>
using namespace std;
int n,a[100020],m,f;
int ok(int p)
{int z=0,s=0;for(int i=1;i<n;i++){if(a[i]-a[z]>=p){s++;z=i;}if(s>=m-1)return 1;}return 0;
}
int main()
{while(~scanf("%d %d",&n,&m)){for(int i=0;i<n;i++)scanf("%d",&a[i]);sort(a,a+n);int l=0,r=a[n-1]-a[0],k,ans=0;while(l<=r){k=(l+r)/2;if(ok(k)){l=k+1;ans=k;}else{r=k-1;}}printf("%d\n",ans);}
}

nyist 586 疯牛相关推荐

  1. NYOJ 586 疯牛

    疯牛 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间 ...

  2. NYOJ 586 疯牛 POJ 2456(二分搜索 + 贪心)

    疯牛 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间 ...

  3. nyoj 586 疯牛(二分+贪心)

    疯牛 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间 ...

  4. 《贪心算法》— NYOJ 586 疯牛

    疯牛 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间 ...

  5. nyoj 疯牛(二分搜索+贪心)

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=586 疯牛 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 4 ...

  6. 二分枚举+贪心(nyist疯牛)

    点我啊~带你去找它\(^o^)/~ 一开始一点思路都没有,压根不知道它要求的是什么,然后问了一下班长,才明白题目的意思就是,给你N个点,要你找出最优解的C点,言简意赅的即使说区间选点. 思路: 假设两 ...

  7. Zoom市值达586亿美元,放中国科技巨头能排第6!净利润暴涨135倍,每天3亿人开会...

    白交 发自 凹非寺  量子位 报道 | 公众号 QbitAI 每日3亿用户使用,营收增幅169%,净利润增长135倍. 没错,就是那个疫情之下最火爆的公司--Zoom.昨天,公布了2021财年第一季度 ...

  8. java 分班_J 分班(class)(NYIST 2019年校赛)

    J 分班(class)(NYIST 2019年校赛) 内存限制:256MB 时间限制:1s Special Judge: No 题目描述: jsb 是 XX 市第一中学的校长.一轮模拟考试结束后,js ...

  9. 数论 - 简单数位推理 --- NYIST 514

    Problem's Link:http://acm.nyist.net/JudgeOnline/problem.php?pid=514 Mean: 给你一个l和r,求出在这个范围内的1的个数. ana ...

最新文章

  1. python编程if语法-Python编程入门基础语法详解经典
  2. 802.11n兼容a/b/g问题(Legacy mode,Mixed mode,Greenfield mode)
  3. c++中多线程传递参数原理分析
  4. apache 配置文件内使用 8080 端口_【SpringBoot 框架】- SpringBoot 配置文件
  5. 实例1:python(续)
  6. [nodejs]国内npm安装nodejs modules失败的几个解决方案
  7. 被吹得天花乱坠的无服务器架构,究竟是什么?
  8. #pragma mark 基本使用
  9. 【转载】随机游走及马尔科夫链(本体映射相关)
  10. spring的部分注释
  11. MSP430之自动增益程控放大main备份
  12. 项目管理文档<模板>
  13. ios获取设备手持方向——电子罗盘
  14. Flash游戏抓取,flash网站抓取,flash网站下载工具
  15. 数字信号处理:重要知识点整理
  16. 机器学习与数据挖掘工具之 WEKA 安装和介绍
  17. YARN动态资源池配置案例
  18. uni-app 极光推送
  19. 我爱淘冲刺阶段站立会议每天任务5
  20. 邮箱地址注册申请能免费注册吗?

热门文章

  1. java jdk使用教程_Java基础教程——安装JDK
  2. Java程序员由笨鸟到菜鸟 电子版书正式发布 欢迎大家下载
  3. 解决coursera可以登录但无法播放视频
  4. 推荐一款搜索开源代码的神器 :Kooder!
  5. finebi-数据更新与定时发邮件
  6. android 音量调节框,Android 音量调节方法
  7. oracle 修改 dbid,Oracle 在使用NID更改DBID时ORA-01122 ORA-01110 ORA-01206
  8. 新年第一帖——元旦这天骑车迷路了
  9. 《上古卷轴5:天际》控制台代码之特技
  10. oracle11g与oracle10g字符集子集与超集的对应关系表