#include<bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define ll long long
#define pll pair<ll,ll>
#define pb push_back
#define emb emplace_back
#define lg(x) __lg(x)
#define all(s) s.begin(),s.end()
#define name "bai1"
#define Mask(i) (1LL<<i)
#define testbit(mask, i) ((mask >> i) & 1LL)
#define onBit(mask, i) (mask | (1LL << i))
#define offBit(mask, i) (mask & ~(1LL << i))
#define flipBit(mask, i) (mask ^ (1LL << i))
#define showbit(mask, x) bitset<x>(mask)
const ll mod = 1e9 + 7;
void add(ll &a, ll b){
if((a += b) >= mod) a -= mod;
}
const ll inf = 1e9;
const ll lim = 1e7 + 5;
const ll N = 1e5 + 5;
ll n, k;
ll a[N];
bool check(ll x){
int drone = 1;
ll sum = 0;
for(int i = 1; i <= n; i++){
sum += a[i];
if(sum <= x) continue;
else{
sum = a[i];
drone++;
}
}
return drone <= k;
}
int main()
{
ios_base::sync_with_stdio(0);
cout.tie(0);cin.tie(0);
if(fopen(name".inp","r")){
freopen(name".inp","r",stdin);
freopen(name".out","w",stdout);
}
cin >> n >> k;
ll X = 0;
for(int i = 1; i <= n; i++){
cin >> a[i];
X += a[i];
}
ll l = 0, r = X, mid, res;
while(l <= r){
mid = (l + r) >> 1;
if(check(mid)){
r = mid - 1;
res = mid;
}
else l = mid + 1;
}
cout << res;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHBsbCBwYWlyPGxsLGxsPgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGVtYiBlbXBsYWNlX2JhY2sKI2RlZmluZSBsZyh4KSBfX2xnKHgpCiNkZWZpbmUgYWxsKHMpIHMuYmVnaW4oKSxzLmVuZCgpCiNkZWZpbmUgbmFtZSAiYmFpMSIKI2RlZmluZSBNYXNrKGkpICgxTEw8PGkpCiNkZWZpbmUgdGVzdGJpdChtYXNrLCBpKSAoKG1hc2sgPj4gaSkgJiAxTEwpCiNkZWZpbmUgb25CaXQobWFzaywgaSkgKG1hc2sgfCAoMUxMIDw8IGkpKQojZGVmaW5lIG9mZkJpdChtYXNrLCBpKSAobWFzayAmIH4oMUxMIDw8IGkpKQojZGVmaW5lIGZsaXBCaXQobWFzaywgaSkgKG1hc2sgXiAoMUxMIDw8IGkpKQojZGVmaW5lIHNob3diaXQobWFzaywgeCkgYml0c2V0PHg+KG1hc2spCmNvbnN0IGxsIG1vZCA9IDFlOSArIDc7Cgp2b2lkIGFkZChsbCAmYSwgbGwgYil7CiAgICAgaWYoKGEgKz0gYikgPj0gbW9kKSBhIC09IG1vZDsKfQoKCmNvbnN0IGxsIGluZiA9IDFlOTsKY29uc3QgbGwgbGltID0gMWU3ICsgNTsKY29uc3QgbGwgTiA9IDFlNSArIDU7CgoKbGwgbiwgazsKbGwgYVtOXTsKCmJvb2wgY2hlY2sobGwgeCl7CiAgICAgaW50IGRyb25lID0gMTsKICAgICBsbCBzdW0gPSAwOwogICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKXsKICAgICAgICAgIHN1bSArPSBhW2ldOwogICAgICAgICAgaWYoc3VtIDw9IHgpIGNvbnRpbnVlOwogICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgc3VtID0gYVtpXTsKICAgICAgICAgICAgICAgZHJvbmUrKzsKICAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGRyb25lIDw9IGs7Cn0KaW50IG1haW4oKQp7CiAgICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgICBjb3V0LnRpZSgwKTtjaW4udGllKDApOwogICAgIGlmKGZvcGVuKG5hbWUiLmlucCIsInIiKSl7CiAgICAgICAgICBmcmVvcGVuKG5hbWUiLmlucCIsInIiLHN0ZGluKTsKICAgICAgICAgIGZyZW9wZW4obmFtZSIub3V0IiwidyIsc3Rkb3V0KTsKICAgICB9CgogICAgIGNpbiA+PiBuID4+IGs7CiAgICAgbGwgWCA9IDA7CiAgICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewogICAgICAgICAgY2luID4+IGFbaV07CiAgICAgICAgICBYICs9IGFbaV07CiAgICAgfQogICAgIGxsIGwgPSAwLCByID0gWCwgbWlkLCByZXM7CiAgICAgd2hpbGUobCA8PSByKXsKICAgICAgICAgIG1pZCA9IChsICsgcikgPj4gMTsKICAgICAgICAgIGlmKGNoZWNrKG1pZCkpewogICAgICAgICAgICAgICByID0gbWlkIC0gMTsKICAgICAgICAgICAgICAgcmVzID0gbWlkOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSBsID0gbWlkICsgMTsKICAgICB9CiAgICAgY291dCA8PCByZXM7Cn0KCgoKCgoKCgo=