记录编号 |
456923 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2015]跳石头 |
最终得分 |
100 |
用户昵称 |
WHZ0325 |
是否通过 |
通过 |
代码语言 |
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;
}