bzoj1650: [Usaco2006 Dec]River Hopscotch 跳石子

来源:互联网 发布:淘宝茶叶为什么便宜 编辑:程序博客网 时间:2024/06/05 15:36

当看到最小值最大或者最大值最小的时候,还是要先考虑二分啊。

#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;typedef long long ll;ll l,n,k;ll a[55000],s[55000];ll cmp(int x,int y){return x<y;}bool check(ll x){ll cnt=0;for(ll i=1;i<=n+1;i++){if(s[i]-s[i-1]<x){cnt++;s[i]=s[i-1];}if(cnt>k)return 0;}return 1;}int main(){scanf("%lld %lld %lld",&l,&n,&k);for(ll i=1;i<=n;i++){scanf("%lld",&a[i]);}sort(a+1,a+1+n,cmp);a[0]=0;a[n+1]=l;ll l=0,r=1000000000;while(l<=r){for(ll i=0;i<=n+1;i++){s[i]=a[i];}ll mid=(l+r)>>1;if(check(mid)){l=mid+1;}else{r=mid-1;}}printf("%lld",r);}


0 0
原创粉丝点击