- 跳石头
- 2017-11-01 15:28:47 @
#include<iostream>
#include<cstdio>
using namespace std;
const int N=50005;
int n,m,Len,d[N],L,r,mid,M;
inline void read(int &x){
x=0;char ch=getchar();
for(;ch<'0'||ch>'9';ch=getchar());
for(;ch>='0'&&ch<='9';ch=getchar()) x=(x<<3)+(x<<1)+ch-'0';
}
int ymz(int x){
int ans=0,w=0;
for(int i=1;i<=n;i++)
if (d[i]-d[w]>=x) ans++,w=i;
return n-ans;
}
int main(){
read(Len);read(n);read(m);
for(int i=1;i<=n;i++) read(d[i]);
L=0;r=Len;d[n+1]=Len;
while(L<r){
mid=((L+r)>>1)+1;
M=ymz(mid);
if (M<=m) L=mid; else r=mid-1;
}
cout<<r;
return 0;
}
3 条评论
-
lrj124 LV 10 @ 2017-11-07 19:23:11
我vj AC,luogu WA
-
2017-11-05 09:54:14@
洛谷好多题都这样……洛谷数据弱可能
-
2017-11-04 09:23:45@
测试点不一样吧
- 1
信息
- ID
- 1981
- 难度
- 6
- 分类
- (无)
- 标签
- 递交数
- 4198
- 已通过
- 1018
- 通过率
- 24%
- 被复制
- 10
- 上传者