70分求救!!!

P2678 [NOIP2015 提高组] 跳石头

```cpp #include<iostream> using namespace std; const int MAXN=100005; int main(){ int L,n,m; int a[MAXN]; cin>>L>>n>>m; int l=0,r=L,mid=0,ans=0,s,j; for(int i=0;i<n;i++) cin>>a[i]; while(l<=r){ mid=(l+r)/2; j=0; s=0; for(int i=0;i<n;i++){ if(a[i]-a[j]<mid) s++; else j=i; } if(s<=m){ ans=mid; l=mid+1; } else r=mid-1; } cout<<ans; return 0; } ```
by King_Ding @ 2019-01-27 20:21:16


|