提交时间:2023-11-12 14:46:40

运行 ID: 110087

#include <bits/stdc++.h> using namespace std; long long L,n,m,q,a[10000005]; long long fenzhi(int x){ int count=0,last=0; for(int i=1;i<=n;i++) if(a[i]-last<x) count++; else last=a[i]; if(count>m) return 0; return 1; } int main(){ cin>>L>>n>>m; for(int i=1;i<=n;i++)cin>>a[i]; a[n+1]=L; int l=0,r=L; while(l<=r){ long long mid=(l+r)/2; if(fenzhi(mid)){ l=mid+1; q=mid; } else r=mid-1; } cout<<q; return 0; }