记录编号 434523 评测结果 AAAAAAAAAA
题目名称 [NOIP 2015]跳石头 最终得分 100
用户昵称 GravatarHzoi_Mafia 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2017-08-08 07:29:58 内存使用 0.15 MiB
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
inline int read(){
	int sum(0);
	char ch(getchar());
	for(;ch<'0'||ch>'9';ch=getchar());
	for(;ch>='0'&&ch<='9';sum=sum*10+(ch^48),ch=getchar());
	return sum;
}
int l,n,m;
int a[50005];
int ans;
inline void doit(int l,int r){//cout<<l<<' '<<r<<endl;
	if(l==r){
		ans=l;
		return;
	}
	int mid((l+r)>>1),tmp(0),last(0);
	for(int i=1;i<=n+1;i++){
		if(a[i]-last>mid)
			last=a[i];
		else
			tmp++;
	}
	if(tmp>m)
		doit(l,mid);
	else
		doit(mid+1,r);
}
inline int gg(){
	freopen("2015stone.in","r",stdin);
	freopen("2015stone.out","w",stdout);
	l=read(),n=read(),m=read();
	for(int i=1;i<=n;i++)
		a[i]=read();
	a[n+1]=l;
	doit(0,l);
	printf("%d",ans);
}
int K(gg());
int main(){;}