Aggressive cows(二分模板)
来源:互联网 发布:倒向随机微分方程知乎 编辑:程序博客网 时间:2024/06/05 17:49
题目:
农夫约翰搭了一间有 N 间牛舍的小屋。牛舍排在一条线上,第 i 号牛舍在 Xi 的位置。但是他的 M 头牛对小屋很不高兴,因此经常互相攻击。约翰为了防止牛之间互相伤害,因此决定把每头牛都放在离其他牛尽可能远的牛舍。也就是要最大化最近的两头牛之间的距离。
输入:
输入第一行: 两个正整数 N 和 M 。
接下来 N 行,每行一个整数 Xi 。
输出:
一个整数,即最近的两头牛之间的最大距离。
EG:
in:
5 3
1
2
8
4
9
out:
3
数据范围:
2≤ N ≤ 100000
2≤ M ≤ N
0≤ Xi ≤ 109
样例说明:
在位置 1,4,9 的牛舍中放入三头牛,得到最长距离 3 。
代码:
#include<iostream>#include<algorithm>#include<cstdio>#include<cctype>#include<ctime>#include<cmath>#include<cstring>#include<queue>using namespace std;int n,m,x[10005];inline bool jiancha(int a){ int cow=1,rr=x[1]+a; for(int i=2;i<=n;++i) { if(rr>x[i]) continue; ++cow; rr=x[i]+a; } return cow>=m;}int main(){ int l=0; cin>>n>>m; for(int i=1;i<=n;++i) cin>>x[i]; sort(x+1,x+n+1); int r=x[n]-x[1]; while(r>=l) { int mid=(l+r)/2; if(jiancha(mid)) l=mid+1; else r=mid-1; } cout<<r; return 0;}
0 0
- Aggressive cows(二分模板)
- Aggressive cows 二分
- POJ2456 Aggressive cows (二分)
- POJ2456 Aggressive cows 二分
- Aggressive cows(二分)
- Aggressive cows--(二分)
- Aggressive cows (二分)
- Aggressive cows (二分)
- poj 2456 Aggressive cows 整数二分写法 模板题
- POJ 2456 Aggressive cows 二分
- POJ 2456 Aggressive cows 二分
- poj 2456 Aggressive cows (二分)
- poj 2456 Aggressive cows 二分
- POJ2456 Aggressive cows(二分+贪心)
- POJ - 2456 Aggressive cows 二分
- POJ 2456 Aggressive cows 【二分】
- POJ 2456 Aggressive cows(二分)
- POJ 2456 Aggressive cows 二分
- javascripth函数(2)
- Android WorldWind(一):WorldWind基础
- java unicode中文编码转换和反转
- 浅析PostgreSQL事务处理机制
- JDBC连接
- Aggressive cows(二分模板)
- 【hdu 1067】Gap
- 如何在Flutter工程中添加Android AAR文件
- Unity3D基础篇——聊一聊三维世界和Unity3D中常用的坐标系和
- Spring Bean 组件
- CSS(颜色_字体)
- lookup模式
- android studio常用快捷键
- 【流媒体】流媒体视频服务正退变成传统有线电视