#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define vt vector

vt<ll> a;
ll n, m;
bool check(ll x){
	if(x < a[n - 1]) return false;
	
	ll cnt = 1;
	ll sum = 0;
	for(ll v : a){
		if(v > x) return false;
		
		if(sum + v > x){
			cnt++;
			sum = v;
		}
		else{
			sum += v;
		}
	}
	
	return cnt <= m;
}

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	
//	freopen("ZXY.INP", "r", stdin);
//	froepen("ZXY.OUT", "w", stdout);
	
	cin >> n >> m;
		
	a.resize(n);
	for(ll &x : a) cin >> x;
	
	sort(a.begin(), a.end());
	
	ll l = 0, r = 1e18;
	while(l < r){
		ll mid = l + (r - l) / 2;
		
		if(check(mid)){
			r = mid;
		}
		else{
			l = mid + 1;
		}
	}
	
	cout << l;
}