【题目描述】

每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石。这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远 (1 ≤ L≤ 1,000,000,000) 的终点处均有一个岩石。在起点和终点之间,有N (0 ≤ N ≤ 50,000) 个岩石,每个岩石与起点的距离分别为Di (0 < Di < L)。

在比赛过程中,奶牛轮流从起点出发,尝试到达终点,每一步只能从一个岩石跳到另一个岩石。当然,实力不济的奶牛是没有办法完成目标的。

农夫约翰为他的奶牛们感到自豪并且年年都观看了这项比赛。但随着时间的推移,看着其他农夫的胆小奶牛们在相距很近的岩石之间缓慢前行,他感到非常厌烦。他计划移走一些岩石,使得从起点到终点的过程中,最短的跳跃距离最长。他可以移走除起点和终点外的至多M (0 ≤ M ≤ N) 个岩石。

请帮助约翰确定移走这些岩石后,最长可能的最短跳跃距离是多少?

【输入】

第一行包含三个整数L, N, M,相邻两个整数之间用单个空格隔开。

接下来N行,每行一个整数,表示每个岩石与起点的距离。岩石按与起点距离从近到远给出,且不会有两个岩石出现在同一个位置。

【输出】

一个整数,最长可能的最短跳跃距离。

【输入样例】

25 5 2
2
11
14
17
21

【输出样例】

4

【提示】

在移除位于2和14的两个岩石之后,最短跳跃距离为4(从17到21或从21到25)。

#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
#include <map>
#include <set>
#include <queue>
#define sf(a) scanf("%d\n",&a)
#define E 1e-8
#define pi acos(-1.0)
#define ms(a) memset(a,0,sizeof a)
#define rep(a,b,c) for(int a=b;a<=c;a++)
#define pf(a) printf("%.3lf\n",a)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int inf=0x3f3f3f3f;
const int idata=1e6+5;int i,j,k;
//int judge,flag;
ll step[idata];
//ll dp[idata][10];
ll temp;
ll n,m,t;
ll maxx=0,minn=inf;
ll cnt,len,sum,ans;
ll high,wigh;
//map<ll,int>pre[2];
set<ll>s;
//priority_queue<ll, vector<ll>,less<ll> >q;
queue<ll>q;bool check(int aim)
{int temp=0;//目前位置int ans=0;rep(i,1,n){if(step[i]-temp<aim)//将石头删掉ans++;elsetemp=step[i];}if(m-temp<aim) ans++;return ans<=k;
}
int main()
{while(cin>>m>>n>>k){rep(i,1,n){cin>>step[i];}int l=0,r=m;while(r-l>1){int mid=(l+r)/2;if(check(mid))l=mid;elser=mid;}cout<<l<<endl;}return 0;
}

1247:河中跳房子相关推荐

  1. 信息学奥赛一本通(1247:河中跳房子)

    1247:河中跳房子 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 5287     通过数: 2522 [题目描述] 每年奶牛们都要举办各种特殊版本的跳房子比赛 ...

  2. 详解1247:河中跳房子(二分经典例题)

    1247:河中跳房子 [题目描述] 每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石.这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远 (1 ≤ L≤ 1 ...

  3. 河中跳房子(noiopenjudge,noip2015)

    描述 每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石.这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远 (1 ≤ L≤ 1,000,000,000) 的 ...

  4. Openjudge NOI题库 ch0111/10 河中跳房子|NOIP2015 day2 stone

    这题同时也是NOIP2015 D2T1 跳石头 stone 原题. 总时间限制: 1000ms 内存限制: 65536kB 描述 每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另 ...

  5. 【2015-2016 ACM-ICPC NERC】【F Froggy Ford】【最小生成树】【最短路】【思维好题】【往河中添加一块石头,使得最短路上最大距离最小】

    [题意] 往河中添加一块石头,使得最短路上最大距离最小 [思路] 枚举两个端点,那么某条路的最短路径上的最大距离就是max(dis1[i],dis2[j],dis[i][j]),建立两个虚源模仿最小生 ...

  6. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  7. 信息学奥赛一本通超详细题解,动画图文题解

    内容来源于微信公众号:大神编程.已经过原文作者授权. 更新时间:2020-11-5 现在开始更新基础算法题. 个人感言:从未见过如此详细的题解,动画.图文结合,适合任何水平的选手.尤其是特别适合自学的 ...

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

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

  9. 最大化最小值 | | 最小化最大值

    最小化最大值. 和"河中跳房子","Agressive Cows"等最大化最小值问题正好相反的最小化最大值问题,同样用二分解决,原理基本相同,差别主要在C条件的 ...

  10. 【NOIP2015】D2-T1跳石头,二分答案

    如果这道题没有写60分的堆加贪心而是二分,如果我在考试前我能写一道自己一直在躲避的二分答案,如果我能骗到第三题哪怕15分,结果都会不同,可惜没如果-- ------------------------ ...

最新文章

  1. 宏基因组分析技术研讨会-2019年最后一期
  2. ebs oracle pl sql开发_PL/SQL设置
  3. 《机器学习》 第 5 章 神经网络
  4. python phpstudy_GitHub - Writeup007/phpStudyBackDoor: phpStudy后门检测与利用工具,Python脚本,可一键 GetShell。...
  5. 建筑公司木地板WordPress企业网站模板
  6. JSON与Delphi Object的互换
  7. 信号与信号分解理解总结
  8. 我佛了!用 KNN 实现验证码识别,又 Get 到一招
  9. zencart后台修改首页meta_title、meta_keywords、meta_description
  10. linux sqlite3使用界面,Linux 中 sqlite3 基本操作
  11. 启动另一个Activity、Service、应用程序
  12. c语言中数字符的知识点,2019年全国计算机二级C语言必背知识点总结
  13. C语言实现摄氏、华氏温度转换
  14. 如何批量下载央视CNTV的节目视频
  15. sd内存卡 a1 a2 区别
  16. 看3D打印技术如何影响未来
  17. nexus5刷机双清 解决手机无限重启
  18. 我的爬虫 之 爬今日头条街拍图片
  19. 2022年5月网络教育大学英语B统考题库复习题及考试时间
  20. 高考还能够改变普通人的命运么?数据分析来告诉你!!

热门文章

  1. DAY8:尚学堂高琪JAVA(70~76)
  2. Windows10去除桌面快捷方式小箭头
  3. Python App 爬虫:豆果美食APP 菜谱爬取
  4. 重启该计算机 选择操作系统,电脑为什么会自动重启 电脑经常自动重启修复方法...
  5. 慢品国学---“人皆有不忍之心“
  6. [附源码]Python计算机毕业设计常见病辅助食疗系统
  7. 1.槑 2.囧 3.烎 4.兲 5.氼 6.砳 7.嘦 8.嫑 9.嘂 10.圐圙 11.玊 12.孖 13.砼 怎么读
  8. Python写的我的世界源码
  9. java file.length 单位_Java File length()方法
  10. 这个模型怎么划分网格?