为什么最终答案是l不是mid?
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,k,a[100005];
bool check(int x)
{
int sum=0;
for(int i=1;i<=n;i++)sum+=a[i]/x;
return sum>=k;
}
main()
{
int ma=INT_MIN;
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i];
ma=max(ma,a[i]);
}
sort(a+1,a+n+1);
int l=0,r=ma+1,mid;
while(l+1<r)
{
mid=l+(r-l)/2;
if(check(mid))l=mid;
else r=mid;
}
cout<<l<<'\n';
return 0;
}