记录编号 465492 评测结果 AAAAAAAAAA
题目名称 [NOIP 2015]跳石头 最终得分 100
用户昵称 GravatarTARDIS 是否通过 通过
代码语言 C++ 运行时间 0.056 s
提交时间 2017-10-27 09:52:28 内存使用 0.50 MiB
显示代码纯文本
#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
const int maxn=50010;
int L,N,M;
int d[maxn];

void beg(){
	freopen("2015stone.in","r",stdin);
	freopen("2015stone.out","w",stdout);
}

bool check(int x){
	int cnt=0;
	int pos=0;
	while (pos<=N+1){
		int left=pos;pos++;
		while (d[pos]-d[left]<=x&&pos<=N+1) cnt++,pos++;
	}
//	printf("%d %d\n",cnt,x);
	return cnt<=M;
}

int main(){
	beg();
	scanf("%d%d%d",&L,&N,&M);
	for (int i=1;i<=N;i++){
		scanf("%d",&d[i]);
	}
	d[0]=0,d[N+1]=L;
	int l=0,r=L;
	while(l<=r){
		int mid=(l+r)>>1;
		if (check(mid)) l=mid+1;
		else r=mid-1;
	}
	printf("%d",l);
}