codevs 3135 River Hopscotch (简单二分)
来源:互联网 发布:农行网银助手mac 编辑:程序博客网 时间:2024/06/06 06:56
题目描述 Description
每年奶牛们举行一场奇异的活动。他们从左岸出发,一个个小心地跳过河上的石头,最后跳到右岸。左右岸上各有一块石头,为起点和终点,而它们之间有N(1<=N<=50000)块石头在河上,他们与两岸的两块石头处在一条直线上。左右岸相距L(1<=L<=1000000000)个单位长度,而每块石头到左岸都有一个距离Di(0< Di < L).
Farmer John很自豪地看着他的奶牛们一个个跳过河,但是渐渐地厌倦了。他希望移走河上的一些石头,使得剩下的石头(包括岸上的)中,最近的两个石头间的距离增加。然而因为精力有限,使得他不能移走太多石头,最多移走M(0<=M<=N)块。
他想知道石头间的最短距离最长是多少。(好纠结的一句话)
输入描述 Input Description
第一行:三个空格分开的数:L,N,M
第二至第N+1行:每行一个整数,表示一块石头到左岸的距离。(绝对没有两块石头在同一位置)
输出描述 Output Description
仅仅一个整数:表示移走若干块石头后最长的最短距离(又绕了。。。。)。
样例输入 Sample Input
25 5 2
2
14
11
21
17
样例输出 Sample Output
4
数据范围及提示 Data Size & Hint
【样例说明】
移走距左岸2和14的石头
其他见题目
思路:简单的二分答案,然后判断。
代码如下
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm>#define LL long long int using namespace std; const int N=50005;int w[N];int L,n,m; int check(int x){ int left=0; int sum=0; for(int i=1;i<=n+1;i++) { int len; if(i==n+1)//记住最右边岸上还有一个石头 len=L-w[left]; else len=w[i]-w[left]; if(len>=x) { left=i; } else { sum++; if(sum>m) return 0; } } return 1;}int main(){ w[0]=0; scanf("%d%d%d",&L,&n,&m); for(int i=1;i<=n;i++) { scanf("%d",&w[i]); } sort(w+1,w+n+1); int l=0,r=1e9+5; while(r-l>1) { int mid=(r+l)/2; if(check(mid)) l=mid; else r=mid; } printf("%d\n",l); return 0;}
阅读全文
0 0
- codevs 3135 River Hopscotch (简单二分)
- River Hopscotch(二分)
- poj3258--River Hopscotch(二分)
- River Hopscotch(二分最大值)
- POJ3258 River Hopscotch(二分)
- POJ3528:River Hopscotch(二分)
- poj 3258 River Hopscotch(二分答案)
- poj 3258 River Hopscotch(二分搜索)
- POJ 3258 River Hopscotch (二分)
- poj 3258 River Hopscotch(二分+贪心)
- POJ 3258 River Hopscotch(二分 跳河)
- POJ 3258 River Hopscotch (二分搜索)
- POJ 3258 River Hopscotch(二分)
- POJ 3258 River Hopscotch(二分)
- poj-3258 River Hopscotch (二分)
- POJ 3258 River Hopscotch (二分经典)
- POJ 3258-River Hopscotch(二分+贪心)
- 【POJ】3258 - River Hopscotch(二分)
- android studio 中使用monkey测试
- 欢迎使用CSDN-markdown编辑器
- 三极管学习
- 剑指offer 面试题16 反转链表-Java实现
- 一款免费好用的代码在线比较工具
- codevs 3135 River Hopscotch (简单二分)
- javascript对象
- 《大型网站技术架构:核心原理与案例分析》拜读总结,第八章——固若金汤:网站的安全架构
- 欢迎使用CSDN-markdown编辑器
- 统计之三σ原则
- 415. Add Strings--两个用字符串表示的数字相加
- HDU 1548 BFS
- 新手怎样快速搭建一个舒服的开发环境(Windows篇)
- Nexus私服的搭建和使用