#include<bits/stdc++.h>
#define int long long
#define N 100100
using namespace std;
int n,m;
int x[N];
bool check(int mid){
int cnt=0;
for(int i=1;i<=m;i++){
int k=x[i]/mid;
if(x[i]%mid)k++;
cnt+=k;
}
return cnt<=n;
}
bool cmp(int a,int b){
return a>b;
}
signed main(){
cin>>n>>m;
for(int i=1;i<=m;i++)
cin>>x[i];
sort(x+1,x+n+1,cmp);
int l=0,r=1e9;
while(l+1<r){
int mid=(l+r)/2;
if(check(mid))
r=mid;
else l=mid;
}
cout<<r;
return 0;
}