[LUOGU] P1316 丢瓶盖
2024-09-03 15:07:46
题目描述
陶陶是个贪玩的孩子,他在地上丢了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;
}
最新文章
- Kmeans++算是DONet实现
- 第一次在linux上登录博客
- unbuntu apahce 2 设置 多域名
- UIView简单动画
- 转 vagrant package[打包命令]详解
- ant 使用指南---java模块化编译【转】
- 2014年2月份第3周51Aspx源码发布详情
- 第一篇:R语言数据可视化概述(基于ggplot2)
- 遍历Jenkins全部项目的配置
- Sublime Text 3 无法使用package control安装插件解决办法
- C#高性能大容量SOCKET并发(八):通讯协议
- Error: Dynamic is undefined
- 协程 及 libco 介绍
- matlab练习程序(局部加权线性回归)
- (链表 双指针) leetcode 142. Linked List Cycle II
- 【PAT】B1066 图像过滤(15 分)
- Azure IOT Edge
- 在Windows上面使用QT5 (without QTcreator or VS 2017)
- matlab reshape()、full()
- subprocess.Popen 运行windows命令出现“句柄无效”报错的解决方法
热门文章
- Android buffer_handle_t的定义(转载)
- 运用NP求解 “跳跃游戏”---计蒜客
- 你想要的sublime、webstorm、vi/vim不得不用的快捷键【简报】【实用】
- 创建Mesh->格子地图转NavMesh->可破坏墙壁
- bzoj 2743: [HEOI2012]采花【树状数组】
- .NET Core 跨平台物联网开发:上报属性(三)
- [Usaco2006 Open]County Fair Events 参加节日庆祝
- 题解报告:hdu 2086 A1 = ?
- Service官方教程(2)*IntentService与Service示例、onStartCommand()3个返回值的含义。
- Android偏好设置(2)为应用定义一个偏好设置xml