#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
const int N = 2e5 + 5;
int n, k;
int x[N];
bool check(ll mx) {
for (int i = 1; i <= n; i++) {
if (x[i] > mx) return false;
}
ll sum = 0, cnt = 1;
for (int i = 1; i <= n; i++) {
if (sum + x[i] > mx) {
cnt++;
sum = x[i];
}
else {
sum += x[i];
}
}
return (cnt <= k);
}
int main() {
ios::sync_with_stdio(0); cin.tie(0);
cin >> n >> k;
for (int i = 1; i <= n; i++) cin >> x[i];
ll l = 1, r = 2e14, ans = -1;
while (l <= r) {
ll mid = (l + r) >> 1;
if (check(mid)) {
ans = mid;
r = mid - 1;
}
else {
l = mid + 1;
}
}
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOyAgCgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsgIAp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IGlpOyAgCgpjb25zdCBpbnQgSU5GID0gMWU5OyAgCmNvbnN0IGxsIExJTkYgPSAxZTE4OyAgCgpjb25zdCBpbnQgTiA9IDJlNSArIDU7IAoKaW50IG4sIGs7ICAKaW50IHhbTl07IAoKYm9vbCBjaGVjayhsbCBteCkgewoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CgkJaWYgKHhbaV0gPiBteCkgcmV0dXJuIGZhbHNlOyAKCX0KCglsbCBzdW0gPSAwLCBjbnQgPSAxOyAgCglmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKCQlpZiAoc3VtICsgeFtpXSA+IG14KSB7CgkJCWNudCsrOyAKCQkJc3VtID0geFtpXTsgCgkJfQoJCWVsc2UgewoJCQlzdW0gKz0geFtpXTsgCgkJfQoJfQoKCXJldHVybiAoY250IDw9IGspOyAKfQoKaW50IG1haW4oKSB7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgIAkKCWNpbiA+PiBuID4+IGs7ICAKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgY2luID4+IHhbaV07IAoKCWxsIGwgPSAxLCByID0gMmUxNCwgYW5zID0gLTE7IAoJd2hpbGUgKGwgPD0gcikgewoJCWxsIG1pZCA9IChsICsgcikgPj4gMTsgCgoJCWlmIChjaGVjayhtaWQpKSB7CgkJCWFucyA9IG1pZDsgIAoJCQlyID0gbWlkIC0gMTsgCgkJfQoJCWVsc2UgewoJCQlsID0gbWlkICsgMTsgCgkJfQoJfSAKCgljb3V0IDw8IGFucyA8PCAnXG4nOyAKfQ==