#include<bits/stdc++.h>
using namespace std;
int m,n,c[300001]={0},l,r;
bool enough_(int x){
int ans=0;
for(int i=1;i<=m;i++)ans+=(c[i]+x-1)/x;
if(ans<=n)return 1;
return 0;
}//7 4
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++)
cin>>c[i];
l=1;
r=n;
while(l<r){
int mid=(l+r)/2;
//cout<<endl<<mid;
//cout<<endl<<enough_(mid)<<endl;
if(enough_(mid)==1)r=mid;
else l=mid+1;
}
cout<<l;
return 0;
}