最近题好难好难
路标设置
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 1011000;
int len,n,m;
int a[N];
bool check(int mid)
{
int cnt=0;
for(int i=2;i<=n;i++)
{
cnt+=(a[i]-a[i-1]) / mid;
if((a[i]-a[i-1]) % mid==0)
--cnt;
if(cnt>m) return false;
}
return true;
}
int main()
{
cin>>len>>n>>m;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
int l=0,r=len;
while(l<=r)
{
int mid=(l+r)/2;
if(check(mid)) r=mid-1;
else l=mid+1;
}
cout<<l;
}