提交时间:2024-01-25 09:23:47

运行 ID: 127527

#include <bits/stdc++.h> using namespace std; int l,n,m,a[50005],ans; bool check(int dis){ int count=0,last=0; for(int i=1;i<=n;i++) if(a[i]-last<dis)count++; else last=a[i]; if(count>m)return 0;return 1; } int main() { ios::sync_with_stdio(0); cin>>l>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; a[n+1]=l; int fl=0,fr=l; while(fl<=fr) { int mid=(fl+fr)/2; if(check(mid))fl=mid+1,ans=mid; else fr=mid-1; } cout<<ans; return 0; }