#include <iostream>
#define LL long long
using namespace std;
LL a[100005];
LL sum;
LL t,n;
int main() {
LL min;
LL mid;
int N,K;
cin >> N >> K;
for(LL i=0; i<N; i++) {
cin>>a[i];
sum+=a[i];
min>a[i]? min=a[i]:min=min;
}
while(min<sum) {
mid=(min+sum)/2;
t=0;
n=1;
for(LL i=0; i<N; i++) {
if(a[i]+t<=mid) t+=a[i];
else {
n++;
t=a[i];
}
}
if(n<=K) sum=mid;
else min=mid+1;
}
cout << sum << endl;
return 0;
}