求助
#include<iostream>
using namespace std;
int a[100000]={0},n,m;
int d(int mid){
int len=0;
for(int i=0;i<n;i++){
if(a[i]>mid){
len+=a[i]/m;
}
}
return len;
}
int f(int l,int r){
int mid=(l+r)/2;
if(l>r){
return l;
}
if(d(mid)>m){
return f(mid+1,r);
}else{
return f(l,mid-1);
}
}
int main(){
int ml=0;
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>a[i];
ml=(a[i]>ml?a[i]:ml);
}
cout<<f(0,ml+1)<<endl;
return 0;
}