#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5 + 9;
int a[N], n, m, ans = 0, l, r, mid;
bool check(int x){
int cnt = 1, t = 0;
for(int i = 1;i <= n; ++i){
if(t + a[i] <= x) t += a[i];
else{
t = a[i];
cnt ++;
}
}
return cnt >= m;
}
int main(){
cin >> n >> m;
for(int i = 1;i <= n; ++i){
cin >> a[i];
l = max(l, a[i]);
r += a[i];
}
while(l < r){
mid = (l + r) >> 1;
if(check(mid)) l = mid;
else r = mid;
}
cout << l << endl;
return 0;
}