可以帮我看看吗
using namespace std;
int a[1100101];
int main()
{
int n,m,l=1;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+n+1);
int r=a[n];
while(l<r)
{
int q=a[1];
int mid=(l+r+1)/2;
int s=1;
for(int i=1;i<=n;i++)
{
if(a[i]-q>mid)
{
q=a[i];
s++;
}
}
if(s>=m) l=mid;
else r=mid-1;
}
cout<<l+1<<endl;
return 0;
}