杭电4004The Frog's Games
来源:互联网 发布:java hbase 编辑:程序博客网 时间:2024/06/05 06:26
The Frog's Games
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 6198 Accepted Submission(s): 3024
Problem Description
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 river 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).
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).
Input
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.
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.
Output
For each case, output a integer standing for the frog's ability at least they should have.
Sample Input
6 1 2225 3 311 218
Sample Output
411
Source
The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest
Recommend
lcy | We have carefully selected several similar problems for you: 4001 4007 4003 4008 4010
#include<stdio.h>
#include<algorithm>
using namespace std;
int l,n,m;
int a[500010];
int judge(int mid)
{
int sum=0;
int last=a[0];
for(int i=1;i<=n;i++)
{
if(a[i]-a[i-1]>mid)
return 0;
if(a[i]-last>mid)
{
last=a[i-1];
sum++;
}
if(sum>m-1)
return 0;
}
return 1;
}
int main()
{
while(~scanf("%d%d%d",&l,&n,&m))
{
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
a[0]=0;
a[++n]=l;
sort(a,a+n);
int left=0;
int right=1000000000;
int mid,ans;
while(left<=right)
{
mid=(left+right)/2;
if(judge(mid))
{
ans=mid;
right=mid-1;
}
else
left=mid+1;
}
printf("%d\n",ans);
}
return 0;
}
#include<algorithm>
using namespace std;
int l,n,m;
int a[500010];
int judge(int mid)
{
int sum=0;
int last=a[0];
for(int i=1;i<=n;i++)
{
if(a[i]-a[i-1]>mid)
return 0;
if(a[i]-last>mid)
{
last=a[i-1];
sum++;
}
if(sum>m-1)
return 0;
}
return 1;
}
int main()
{
while(~scanf("%d%d%d",&l,&n,&m))
{
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
a[0]=0;
a[++n]=l;
sort(a,a+n);
int left=0;
int right=1000000000;
int mid,ans;
while(left<=right)
{
mid=(left+right)/2;
if(judge(mid))
{
ans=mid;
right=mid-1;
}
else
left=mid+1;
}
printf("%d\n",ans);
}
return 0;
}
0 0
- 杭电 4004 The Frog's Games
- 【杭电4004】The Frog's Games
- 【杭电】[4004]The Frog's Games
- 杭电4004The Frog's Games
- HDU--杭电--4004--The Frog's Games--二分
- 【杭电4004】The Frog's Games Time 青蛙过河
- 杭电-4004 The Frog's Games(二分)
- 【杭电oj】4004 - The Frog's Games(STL & 二分 & 贪心)
- The Frog's Games
- The Frog's Games
- The Frog's Games
- The Frog's Games
- HDU 4004 THE FROG’S GAMES(二分)
- HDU 4004 The Frog's Games
- hdu 4004 The Frog's Games
- HDU 4004 The Frog's Games
- HDU 4004 The Frog's Games
- HDOJ 4004 The Frog's Games 二分
- svn unversion功能
- POJ1287——————networking
- JVM运行原理
- 百度地图 标注 显示信息 Marker单击事件 代码参考
- Recommender System ——charu C. Aggarwal学习笔记【2】
- 杭电4004The Frog's Games
- 高精度计算(一)概念
- emacs+slime+sbcl搭建common lisp环境
- 【POJ】[2631]Roads in the North
- centos 7修改打开文件数限制
- java设计模式-原型模式
- [Cloud Computing]Patterns: Elastic Resource Capacity
- 头部固定效果
- Add Digits