#include<bits/stdc++.h>
using namespace std;
const int maxv = 1e6+5;
typedef long long ll;
ll n, m, a[maxv];
bool check(ll mid){
ll cnt=0, sum=0;
for(int i = 1; i <= n-1; i++){
sum += a[i];
if(sum + a[i+1] > mid){
cnt ++;
sum = 0;
}
}
if(cnt+1<=m) return 1;
else return 0;
}
int main(void){
cin >> n >> m;
for(int i = 1; i <= n; i++) cin >> a[i];
ll l = 1, r = 1e9;
while(l < r){
ll mid = (l+r) >> 1;
if(check(mid)) r = mid;
else l = mid + 1;
}
cout << l;
return 0;
}