提交时间:2023-11-08 13:32:09

运行 ID: 109335

#include<iostream> #include<cstdio> using namespace std; int l,n,m,a[50002]; bool check(int x){ int t=0; int sum=0; for(int i=1;i<=n;i++){ if(a[i]-t>=x){ t=a[i]; }else{ sum++; } } if(l-t<x){ sum++; } return sum<=m; } int main(){ cin>>l>>n>>m; int l=1,r=l; for(int i=1;i<=n;i++){ cin>>a[i]; } while(r>l){ int abc=(l+r+1)>>1; if(check(abc)){ l=abc; }else{ r=abc-1; } } cout<<l; return 0; }