Accepted
代码
#include<bits/stdc++.h>
using namespace std;
const int maxn=50010;
int L,n,m;
int a[maxn];
bool check(int mid)
{
int last=0,cnt=0;
for(int i=1;i<=n;i++)
{
if(a[i]-last>=mid) last=a[i];
else cnt++;
}
return cnt<=m;
}
int main()
{
scanf("%d %d %d",&L,&n,&m);
int l=0,r=L;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
a[++n]=L;
while(l<=r)
{
int mid=(l+r)>>1;
if(check(mid)) l=mid+1;
else r=mid-1;
}
printf("%d\n",r);
return 0;
}
信息
- 递交者
- 类型
- 递交
- 题目
- P1055 跳石头
- 比赛
- 随机真题赛第四轮(xhy&lfy讲题)
- 题目数据
- 下载
- 语言
- C++
- 递交时间
- 2019-11-13 14:32:43
- 评测时间
- 2019-11-13 14:32:43
- 评测机
- 分数
- 100
- 总耗时
- 60ms
- 峰值内存
- 500.0 KiB