hdoj4004The Frog's Games【二分】
2015-08-26 00:35
337 查看
The Frog's Games
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 4788 Accepted Submission(s): 2318
[align=left]Problem Description[/align]
The annual Games in frogs' kingdom started again. The most famous game is the Ironfrog Triathlon. One test in the Ironfrog Triathlon is jumping. This project requires the frog athletes to jump over the river. The width of
the riv
er is L (1<= L <= 1000000000). There are n (0<= n <= 500000) stones lined up in a straight line from one side to the other side of the river. The frogs can only jump through the river, but they can land on the stones. If they fall into the river, they
are out. The frogs was asked to jump at most m (1<= m <= n+1) times. Now the frogs want to know if they want to jump across the river, at least what ability should they have. (That is the frog's longest jump distance).
[align=left]Input[/align]
The input contains several cases. The first line of each case contains three positive integer L, n, and m.
Then n lines follow. Each stands for the distance from the starting banks to the nth stone, two stone appear in one place is impossible.
[align=left]Output[/align]
For each case, output a integer standing for the frog's ability at least they should have.
[align=left]Sample Input[/align]
6 1 2
2
25 3 3
11
2
18
[align=left]Sample Output[/align]
4
11
#include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; int num[500010]; bool cmp(int a,int b){ return a<b; } bool judge(int l,int n,int m){ int i,j,ans=0; for(i=0;i<=n;++i){ if(num[i]-ans>l)return false; else{ for(j=i;j<=n;++j){ if(num[j]-ans>l)break; } i=j-1;ans=num[j-1];m--; } } if(m>=0) return true; return false; } int main() { int i,j,n,m,l; while(scanf("%d%d%d",&l,&n,&m)!=EOF){ for(i=0;i<n;++i){ scanf("%d",&num[i]); } sort(num,num+n,cmp); int left=1,right=l; num =l; while(left<=right){ int mid=(left+right)>>1; if(judge(mid,n,m)){ right=mid-1; } else{ left=mid+1; } } printf("%d\n",left); } return 0; }
相关文章推荐
- Google Analytics cookie内容详解
- 各大开源项目中的GA的意思?
- simpleProfileAttrTbl[]中的handle为什么是0
- MyEclipse 5.5 GA 注册码
- GA/GP中的适应度函数
- hibernate版本
- 页面添加GA代码,10个GA基础应用
- Matlab 遗传算法求解TSP问题
- 软件版本GA,RC,alpha,beta,Build 含义
- 遗传算法求解旅行商(TSP)问题
- 遗传算法(GA)学习笔记---旅行商问题(TSP)
- 模块化UPS:卖点?买点?
- 8显卡主机组装+问题记录+分析
- SylixOS USB Gadget层介绍
- Alpha、Beta、RC、GA、Release版本号的含义
- 遗传算法详解及java实现
- Google Analytics的入门详解
- 关于各种版本缩写
- Alpha、Beta、RC、GA版本的区别
- Google Analytics(GA)