您的位置:首页 > 运维架构

[BZOJ1650][Usaco2006 Dec]River Hopscotch 跳石子

2015-10-26 23:04 525 查看
原题地址

二分答案+贪心.

这个贪心好像挺显然,不证了…

AC code:

#include <cstdio>
#include <algorithm>
using namespace std;
const int N=50010;
int l,n,m;
int a
;

bool check(int lim){
int cnt=0;
int t
;
for(int i=1;i<=n;i++) t[i]=a[i];
for(int i=2;i<=n;i++){
if(t[i]-t[i-1]<lim){
cnt++;
t[i]=t[i-1];
}
}
return cnt<=m;
}

int main(){
scanf("%d%d%d",&l,&n,&m);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
a[n+1]=0;a[n+2]=l;n+=2;
sort(a+1,a+n+1);
int L=0,R=1<<29;
while(L+1!=R){
int M=(L+R)>>1;
if(check(M)) L=M;
else R=M;
}
printf("%d\n",L);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: