#include
#include
using namespace std;
bool check(int a[],int n,int n_p,int m){
int sum=0;
int cnt=0;
for(int i=0;i<n;i++){
if(sum<=m){
sum+=a[i];
}
else{
cnt++;
if(cnt>n_p){
return false;
sum=a[i];
}
}
}
if(sum){
if(cnt>n_p){
return true;
}
}
return false;
}
int main(){
int n_p;
cin>>n_p;
int n;
cin>>n;
int arr[10000];
for(int i=0;i<n;i++){
cin>>arr[i];
}
int sum=0;
int max=arr[0];
for(int i=0;i<n;i++){
if(arr[i]>arr[i+1]){
max=arr[i];
}
sum=sum+arr[i];
}
//cout<<max<<endl;
//cout<<sum<<endl;
int s=max;
int e=sum;
int ans=0;
while(s<=e){
int mid=(s+e)/2;
if(check(arr,n,n_p,mid)){
ans=mid;
e=mid-1;
}
else{
s=mid+1;
}
}
cout<<ans<<endl;
}