NKOI3600 河中跳房子游戏

奶牛们在河中的岩石上进行跳房子游戏,FJ计划移除部分岩石以增加最短跳跃距离。通过排序、二分查找算法确定能增加的最大最短距离。描述了如何确定上下界并实现二分查找,以找到符合条件的最短距离最大值。
摘要由CSDN通过智能技术生成

[二分答案]

题目描述

每年,奶牛们都举办一种特殊的跳房子游戏,在这个游戏中,大家小心翼翼地在河中的岩石上跳。这个游戏在一条笔直的河中进行,以一块岩石表示开始,以另一块距离起点L单位长度的岩石表示结束 (1 <= L <= 1,000,000,000)。在这两块岩石中间还有N(0 <= N <= 50,000) 块岩石,每块的位置距离起点是 Di (0 < Di < L)个单位长度。
玩这个游戏的时候,每头牛从开始的那块岩石想办法要跳到表示结束的那块岩石上。中间只能在从某块岩石跳跃到另一块岩石,反复的这样跳。当然,不够敏捷的牛永远跳不到终点,最终只能落入河中。FJ计划移除一些岩石,从而增加奶牛在跳跃时需要的最短距离。他不能移除开始和结束的两块岩石。但是除此之外他可以移除 M (0 <= M <= N)块岩石。FJ 希望知道他能够增加多少最短跳跃距离。求当他移除了M块岩石后,奶牛从开始跳到结束的岩石,每次跳跃的最短距离至多可以增加到多少。

输入格式

行 1: 三个用空格分开的整数,分别是 L, N, 和 M
行 2..N+1: 每行一个整数,表示中间N块岩石的位置,没有两块岩石处于同一位置。

输出格式

行 1: 一个整数表示移除某M块岩石后,相邻岩石间距最小值的最大可能情况。

这道题显然应该先按每个点到起点的距离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值