题目描述
陶陶是个贪玩的孩子,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个,使得距离最近的2个距离最大,他想知道,最大可以到多少呢? 输入输出格式
输入格式:
第一行,两个整数,A,B。(B<=A<=100000) 第二行,A个整数,分别为这A个瓶盖坐标。 输出格式:
仅一个整数,为所求答案。 输入输出样例
输入样例#1:
5 3
1 2 3 4 5
输出样例#1:
2
说明
限时3秒

终于找到一个心仪的、不容易写错的二分答案模板了,ans在二分中同时保存。

#include<iostream>
#include<algorithm>
using namespace std; const int MAXN=100005; int n,m; int a[MAXN]; bool check(long long x){
int sum=a[1],cnt=1;
for(int i=2;i<=n;i++){
if(a[i]-sum>=x) sum=a[i],cnt++;
}
return cnt>=m;
} int main(){
cin>>n>>m;
long long l=0,r=1152921504606846976,mid;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
int ans;
while(l<=r){
mid=(l+r)/2;
if(check(mid)) l=mid+1,ans=mid;
else r=mid-1;
}
cout<<ans<<endl;
return 0;
}

最新文章

  1. Kmeans++算是DONet实现
  2. 第一次在linux上登录博客
  3. unbuntu apahce 2 设置 多域名
  4. UIView简单动画
  5. 转 vagrant package[打包命令]详解
  6. ant 使用指南---java模块化编译【转】
  7. 2014年2月份第3周51Aspx源码发布详情
  8. 第一篇:R语言数据可视化概述(基于ggplot2)
  9. 遍历Jenkins全部项目的配置
  10. Sublime Text 3 无法使用package control安装插件解决办法
  11. C#高性能大容量SOCKET并发(八):通讯协议
  12. Error: Dynamic is undefined
  13. 协程 及 libco 介绍
  14. matlab练习程序(局部加权线性回归)
  15. (链表 双指针) leetcode 142. Linked List Cycle II
  16. 【PAT】B1066 图像过滤(15 分)
  17. Azure IOT Edge
  18. 在Windows上面使用QT5 (without QTcreator or VS 2017)
  19. matlab reshape()、full()
  20. subprocess.Popen 运行windows命令出现“句柄无效”报错的解决方法

热门文章

  1. Android buffer_handle_t的定义(转载)
  2. 运用NP求解 “跳跃游戏”---计蒜客
  3. 你想要的sublime、webstorm、vi/vim不得不用的快捷键【简报】【实用】
  4. 创建Mesh->格子地图转NavMesh->可破坏墙壁
  5. bzoj 2743: [HEOI2012]采花【树状数组】
  6. .NET Core 跨平台物联网开发:上报属性(三)
  7. [Usaco2006 Open]County Fair Events 参加节日庆祝
  8. 题解报告:hdu 2086 A1 = ?
  9. Service官方教程(2)*IntentService与Service示例、onStartCommand()3个返回值的含义。
  10. Android偏好设置(2)为应用定义一个偏好设置xml