记录编号 443470 评测结果 AAAAAAAAAA
题目名称 [NOIP 2015]跳石头 最终得分 100
用户昵称 GravatarLovelove_boii 是否通过 通过
代码语言 C++ 运行时间 0.053 s
提交时间 2017-08-30 21:29:29 内存使用 0.50 MiB
显示代码纯文本
#include<fstream>
using namespace std;
ifstream cin("2015stone.in");
ofstream cout("2015stone.out");
int l,n,m,stone[50002];
int left_,right_,ans;
bool judge(int answer)
{
	int latest,moveable;
	latest=0;
	moveable=0;
	for(int i=1;i<=n;i++)
	{
		if(stone[i]-latest<answer)
		{
			moveable++;
		}
		else
		{
			latest=stone[i];
		}
	}
	if(moveable>m)
	{
		return true;
	}
	else
	{
		return false;
	}
}
int main()
{
	cin>>l>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>stone[i];
	}
	stone[++n]=l;
	left_=0;
	right_=l;
	while(left_<=right_)
	{
		ans=(left_+right_)/2;
		if(judge(ans))
		{
			right_=ans-1;
		}
		else
		{
			left_=ans+1;
		}
	}
	cout<<left_-1;
	cin.close();
	cout.close();
	return 0;
}