#include<bits/stdc++.h>
using namespace std;
int bin_serch(long long int arr[],int n,long long int l,long long int r,long long int &ans,int k)
{
//cout<<“l”<<l<<" r"<<r<<" “;
if(l>r)
return -1;
long long int mid=(l+r)/2;
int no=1;
long long int cs=0;
for(int i=0;i<n;i++)
{
cs+=arr[i];
if(cs==mid)
{
no++;
cs=0;
}
else if(cs>mid)
{
no++;
cs=arr[i];
}
}
//cout<<“no”<<no<<”\n";
if(no>k)
return bin_serch(arr,n,mid+1,r,ans,k);
else
{
ans=mid;
return bin_serch(arr,n,l,mid-1,ans,k);
}
return -1;
}
int main()
{
int k;
cin>>k;
int n;
cin>>n;
long long int arr[n];
long long int sum=0;
for(int i=0;i<n;i++)
{
cin>>arr[i];
sum+=arr[i];
}
long long int l=*max_element(arr,arr+n);
long long int ans=sum;
long long int a=bin_serch(arr,n,l,sum,ans,k);
cout<<ans<<"\n";
return 0;
}
submission number 3712092