NOIP201508跳石头
描述
一年一度的“跳石头”比赛又要开始了!
这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 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)Di(0<Di<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<bits/stdc++.h>
using namespace std;
int n,m,a[10000004];
int main()
{
int r,o,l=0;
cin>>o>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
a[n+1]=o;
r=o+1;
int mid,e,sum;
while(r-l>1)
{
mid=(r+l)/2;
e=0;
sum=0;
for(int i=1;i<=n+1;i++)
{
if(a[i]-e>=mid)
{
e=a[i];
}
else
{
sum++;
}
}
if(sum>m)
{
r=mid;
}
else l=mid;
}
cout<<l;
return 0;
}
此题运用了简单的二分思想,我一个小鞋生觉得不算很难
NOIP201508跳石头相关推荐
- 跳石头 NOIP2015 提高组 Day2 T1
codevs 4768 跳石头 题目描述 Description 一年一度的"跳石头"比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好 ...
- 洛谷——P2678 跳石头
https://www.luogu.org/problem/show?pid=2678#sub 题目背景 一年一度的"跳石头"比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道 ...
- 2015 提高组 跳石头--二分答案
题目背景 一年一度的"跳石头"比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间 ...
- P2678 [NOIP2015 提高组] 跳石头
P2678 [NOIP2015 提高组] 跳石头 题目背景 一年一度的"跳石头"比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选 ...
- 信息学奥赛一本通 1890:【15NOIP提高组】跳石头 | 洛谷 P2678 [NOIP2015 提高组] 跳石头
[题目链接] ybt 1890:[15NOIP提高组]跳石头 洛谷 P2678 [NOIP2015 提高组] 跳石头 ybt 1247:河中跳房子 OpenJudge NOI 1.11 10:河中跳房 ...
- 二分答案——跳石头(洛谷 P2678)
题目选自洛谷P2678 这道题题目并不复杂,思考一下也能知道用二分的方法来做. 难点在于如何判断是否满足条件,以及二分的边界问题. 下面给出详细解题思路: //tot表示需要搬走的石块数量,i表示找的 ...
- c++二分答案 之 跳石头
题目: 题目描述 Description 一年一度的"跳石头"比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和 ...
- NOIP2015跳石头【二分答案(最小值最大化) | 贪心】
519. 跳石头 - AcWing题库 组委会已经选择好了两块岩石作为比赛起点 0 和终点 L . 在起点和终点之间,有 NN 块岩石(不含起点和终点的岩石). 在比赛过程中,选手们将从起点出发,每一 ...
- 【题解】P2678 [NOIP2015 提高组] 跳石头
题目背景 一年一度的"跳石头"比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间 ...
- [NOIP2015]跳石头
题目: [NOIP2015]跳石头 ,哈哈,我们今天来看一道二分答案的题嘛,这是选自NOIP上的一道题,好了,我们一起来看看题意吧: 题目描述是复制的,可能有部分显示不对,我就把题目链接放下面! 题目 ...
最新文章
- Mysql 索引优化分析_如何优化MySQL的性能?从索引方面优化案例分析
- 深度学习性能提升的诀窍
- Python 获取项目根路径
- UA MATH566 统计理论 QE练习 位置变换后的指数分布
- ESFramewor使用技巧(2)-- 在插件中使用NHibernate
- Vue中使用LayUI没有效果
- c语言see函数,vprintf() - C语言库函数
- Nodejs开发框架Express3.0开发手记–从零开始
- Maven 仓库优先级
- 作为ACMer,在我最懈怠的时候让我看到了这段话
- SQL Serever学习14——存储过程和触发器
- word2007导出pdf带书签
- vbs教程《日期时间》
- STM32实战总结:HAL之数码管
- linux系统能看抖音吗,在Linux系统下用XDroid来安装和运行抖音Android APP应用
- java 导出多个excel_Java导出Excel压缩包
- Automatic Detection of Welding Defects Using Faster R-CNN
- 看看!挺动人的故事!!!
- 《计算机视觉黑魔法16个实战项目》之扫描全能王
- 仿elem页面学习之表单提交的动作
热门文章
- R语言-gsub替换字符工具
- Java 服务器版超市管理系统,基于JAVA的超市进销存管理系统.doc
- flutter 必须掌握的CustomScrollView及Sliver类型控件的几种使用
- python sin_Python数字sin()方法
- CF1267G Game Relics(期望、背包)
- java公路赛_为什么Java公路车总被黑?
- C++:实现量化exchangerate汇率测试实例
- php根据键值排序,数组根据某个键值排序
- 信道与信道容量(一)
- 你不得不知的网络编程三剑客