#include<iostream>
using namespace std;
long long n, r,l;
long long ans ;
long long a[300009];
int m;
bool check(long long mid)
{
long long sum = 0;
for(int i=1;i<=mid;i++)
{
sum+=(a[i]+mid-1)/mid;
}
return sum<=n;
}
int main()
{
scanf("%lld%d",&n,&m);
for(int i=1;i<=m;i++)
{
scanf("%lld",&a[i]);
r += a[i];
}
while(r>=l)
{
long long mid = (r + l)/2;
if(check(mid))
{
r = mid-1;
ans = mid;
}
else
l = mid+1;
}
cout << ans << endl;
return 0;
}