#include<iostream>

using namespace std;


int main(){
	
	int n,m;
	cin>>n>>m;
	
	int hon[100];
	for(int i=0;i<m;i++){
		cin>>hon[i];
	}
	
	int reft=0;
	int right=0;
	for(int i=0;i<m;i++){
		right+=hon[i];
	}
	
	while(1){
		double h = (double)(reft+right)/2;
		
		int now=0;
		int cont=1;
		for(int i=0;i<m;i++){
			if(cont>n){
				break;
			}
			if(now+hon[i]>h){
				now=0;
				cont++;
				i--;
				continue;
			}
			now+=hon[i];
		}
		
		if(cont>n){
			reft=h;
		}else{
			right=h+0.5;
		}
		
		if(reft+1==right){
			break;
		}
	}
	printf("%d\n",right);
}