#include <iostream>
using namespace std;
int a[100010], n, m;
bool check(int mid) {
int sum = 0, ans = 0;
for(int i = 0; i < n; i++) {
if(ans + a[i] <= mid) {
ans += a[i];
}else {
sum++;
ans = a[i];
}
}
if(sum <= m) return true;
else return false;
}
int main() {
cin >> n >> m;
for(int i = 0; i < n; i++) cin >> a[i];
int l = 0, r = 1e9 + 1;
while(l < r) {
int mid = l + r >> 1;
if(check(mid)) {
r = mid;
}else {
l = mid + 1;
}
}
cout << l;
return 0;
}