#include <iostream>
using namespace std;
int a[100005], n, k;
int f(int m) {
int sum = 0, cnt = 0;
for (int i = 1; i <= n; ++i) {
if(a[i] > m)return 10000000;
if(sum + a[i] <= m) sum += a[i];
else {
sum = a[i];
cnt++;
}
}
return cnt;
}
int main() {
cin >> n >> k;
for (int i = 1; i <= n; ++i) cin >> a[i];
int l = 1, r = 1e9;
while(l <= r) {
int mid = (l + r) / 2;
if(f(mid) > 100000 || f[mid] >= k)r = mid - 1;
else l = mid + 1;
}
cout <<l;
return 0;
}