#include<iostream>
using namespace std;
long long int n,m,ans,a[100005],l=1,r;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i],r+=a[i],l=max(l,a[i]);
while(l<=r){
long long int mid=(l+r)/2;
long long int ans=0,sum=0;
for(int i=1;i<=n;i++){
if(i==n){
ans++;
break;
}
sum+=a[i];
if(sum==mid){
ans++;
sum=0;
}
else if(sum>mid){
sum=a[i];
ans++;
}
}
if(ans<=m)
r=mid-1;
else l=mid+1;
}
cout<<l;
return 0;
}