提交时间:2025-07-24 10:44:46
运行 ID: 335853
#include<bits/stdc++.h> using namespace std; int len,n,k,l,r,mid; int a[100010]; bool check(int mid){ int c=0; for(int i=2;i<=n;i++){ if(a[i]-a[i-1]>=mid){ c+=(a[i]-a[i-1])/mid; if((a[i]-a[i-1])%mid==0){ c--; } } } if(c>k) return false; return true; } int main(){ cin>>len>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1); l=0,r=len; while(l<=r){ mid=l+r>>1; if(check(mid)) r=mid-1; else l=mid+1; } cout<<l; return 0; }