#include<bits/stdc++.h>
using namespace std;
long long n,m,a[100100];
bool check(int x){
long long s=1,sum=0;
for(int i=1;i<=n;i++){
if(a[i]+sum<=x&&sum+a[i]+a[i+1]>x){
s++,sum=0;
}
else sum+=a[i];
}
return s<=m;
}
int main(){
cin>>n>>m;
long long l=1,r=0,mid;
for(int i=1;i<=n;i++){
cin>>a[i];
r+=a[i];
}
while(l+1<r){
mid=(l+r)/2;
if(check(mid)) r=mid;
else l=mid;
}
cout<<r;
return 0;
}