P2678 [NOIP2015 提高组] 跳石头

题目背景
一年一度的“跳石头”比赛又要开始了!

题目描述
这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 NN 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。

为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走 MM 块岩石(不能移走起点和终点的岩石)。

输入格式
第一行包含三个整数 L,N,ML,N,M,分别表示起点到终点的距离,起点和终点之间的岩石数,以及组委会至多移走的岩石数。保证 L \geq 1L≥1 且 N \geq M \geq 0N≥M≥0。

接下来 NN 行,每行一个整数,第 ii 行的整数 D_i( 0 < D_i < L)D
i

(0<D
i

<L), 表示第 ii 块岩石与起点的距离。这些岩石按与起点距离从小到大的顺序给出,且不会有两个岩石出现在同一个位置。

输出格式
一个整数,即最短跳跃距离的最大值。

输入输出样例
输入 #1复制
25 5 2
2
11
14
17
21
输出 #1复制
4
说明/提示
输入输出样例 1 说明:将与起点距离为 22和 1414 的两个岩石移走后,最短的跳跃距离为 44(从与起点距离 1717 的岩石跳到距离 2121 的岩石,或者从距离 2121 的岩石跳到终点)。

另:对于 20%20%的数据,0 ≤ M ≤ N ≤ 100≤M≤N≤10。

对于50%50%的数据,0 ≤ M ≤ N ≤ 1000≤M≤N≤100。

对于 100%100%的数据,0 ≤ M ≤ N ≤ 50,000,1 ≤ L ≤ 1,000,000,0000≤M≤N≤50,000,1≤L≤1,000,000,000。

二分找距离。

#include<iostream>
using namespace std;
int main()
{int l,n,m,ans;int ch[50001]={0};//第一个点ch[0]==0;cin>>l>>n>>m;for (int i=1;i<=n;i++){cin>>ch[i];}int left=0,right=l;//最小和最大;while (left<=right){int mid=(left+right)/2;int now=0,s=0;for (int i=1;i<=n;i++){if (ch[i]-ch[now]<mid) s++;//去掉石头else now=i;//跳一步}if (s<=m){ans=mid;left=mid+1;}else right=mid-1;}cout<<ans;return 0;
}

P2678 [NOIP2015 提高组] 跳石头相关推荐

  1. 信息学奥赛一本通 1890:【15NOIP提高组】跳石头 | 洛谷 P2678 [NOIP2015 提高组] 跳石头

    [题目链接] ybt 1890:[15NOIP提高组]跳石头 洛谷 P2678 [NOIP2015 提高组] 跳石头 ybt 1247:河中跳房子 OpenJudge NOI 1.11 10:河中跳房 ...

  2. 【题解】P2678 [NOIP2015 提高组] 跳石头

    题目背景 一年一度的"跳石头"比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间 ...

  3. 洛谷P2678 [NOIP2015 提高组] 跳石头

    传送门:https://www.luogu.com.cn/problem/P2678 非常同意一个观点:二分答案由二分区间和judge函数构成 二分答案,顾名思义,就是找到答案的范围区间,然后在这个区 ...

  4. Java解P2678 [NOIP2015 提高组] 跳石头,有图有注释,通俗易懂

    01.题目及链接 题目链接:https://www.luogu.com.cn/problem/P2678 02.解题思路 对两个石头之间的最短距离mid进行二分枚举,初始时left=0,right=起 ...

  5. 2015 提高组 跳石头--二分答案

    题目背景 一年一度的"跳石头"比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间 ...

  6. 洛谷-神奇的幻方-NOIP2015提高组复赛

    题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,--,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. ...

  7. P2615 [NOIP2015 提高组] 神奇的幻方

    题目描述 幻方是一种很神奇的 N\times NN×N 矩阵:它由数字 1,2,3,\cdots \cdots ,N \times N1,2,3,⋯⋯,N×N 构成,且每行.每列及两条对角线上的数字之 ...

  8. 【NOIP2015提高组】信息传递

    题目背景 NOIP2015 提高组 Day1 T2 题目描述 有 n 个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编 ...

  9. [NOIP2015 提高组] 神奇的幻方 ——C++

    [NOIP2015 提高组] 神奇的幻方 题目描述 幻方是一种很神奇的 N∗NN*NN∗N 矩阵:它由数字 1,2,3,⋯⋯ ,N×N1,2,3,\cdots \cdots ,N \times N1, ...

最新文章

  1. JS Math的几个方法使用实例
  2. 新学Node-JS的一点总结
  3. 一个express老系统csrf漏洞修复
  4. java test 用法_Java的testcase用法
  5. 推荐一款UI设计软件Balsamiq Mockups
  6. MySql DATE_FORMAT函数用法
  7. Java ---学习笔记(泛型)
  8. 基于Android的人事管理系统开发与设计源码(一)
  9. js之类 面向对象的书写方式(详细篇)
  10. coreldrawx4缩略图显示不出来_CorelDraw X6 64/32位不显示缩略图解决方法
  11. java 双向链表循环_(java实现)双向循环链表
  12. 什么是Cat.1,Cat.1和4G之间的区别
  13. Qt:无法定位程序输入点于动态链接库等。
  14. gif动态加载图和动态表情包的制作
  15. 【时间序列分析】06. AR(p)序列的性质
  16. android ota功能,支持 OTA 更新  |  Android 开源项目  |  Android Open Source Project
  17. 11.Excel vba开发-根据已有名称,创建新建表格
  18. 数字地球与计算机技术联系,数字地球与现代测绘科学的发展问题
  19. pg服务管理 与 psql常用命令
  20. 安卓沉浸式状态栏_《宫廷秘传》今日安卓计费删档开测

热门文章

  1. java builder pool_每周10道Java面试题:String, String Pool, StringBuilder
  2. mongodb $ifNull
  3. 软件质量的理解 摘录
  4. .net mysql-connector-net连接mysql
  5. .Net DES加密解密(不带向量)
  6. RAISERROR (Transact-SQL)
  7. TortoiseGit 客户端安装及使用
  8. 你会通过Docker部署war包吗
  9. android中拖动文字实现功能,Android:图片中叠加文字,支持拖动改变位置
  10. 【移植Linux 3.4.2内核第三步】从0制作支持新内核的文件系统