记录编号 456923 评测结果 AAAAAAAAAA
题目名称 [NOIP 2015]跳石头 最终得分 100
用户昵称 GravatarWHZ0325 是否通过 通过
代码语言 C++ 运行时间 0.045 s
提交时间 2017-10-05 22:36:49 内存使用 0.48 MiB
显示代码纯文本
#include <cstdio>
int l,n,m;
int arr[50005];
bool c(int ans) {
	int now=0;
	int out=0;
	for(int i=0;i<=n;i++) {
		if(now+ans>arr[i]) {
			out++;
		}
		else {
			now=arr[i];
		}
	}
	if(out>m) {
		return false;
	}
	else {
		return true;
	}
}
int main() {
	freopen("2015stone.in","r",stdin);
	freopen("2015stone.out","w",stdout);
	scanf("%d%d%d",&l,&n,&m);
	for(int i=0;i<n;i++) {
		scanf("%d",&arr[i]);
	}
	arr[n]=l;
	int le=0,ri=l,mid;
	int ans=0;
	while(le<=ri) {
		mid=(le+ri)/2;
		if(c(mid)) {
			ans=mid;
			le=mid+1;
		}
		else {
			ri=mid-1;
		}
	}
	printf("%d\n",ans);
	fclose(stdin);
	fclose(stdout);
	return 0;
}