求助
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e7+10;
ll n,m,a[N],ans;
bool check(ll x)
{
ll ans=0;
for(int i=1;i<=m;i++) ans+=(a[i]+x-1)/x;
return ans<=n;
}
int main()
{
cin>>n>>m;
ll sum=0;
ll l=1,mid;
for(int i=1;i<=n;i++)
cin>>a[i],sum+=a[i];
while(l<=sum)
{
mid=(l+sum)/2;
if(check(mid))
ans=mid,sum=mid-1;
else
l=mid+1;
}
cout<<ans;
return 0;
}