#include <iostream>
using namespace std;
int n,m,a[100005];
int check(int k){
int sum=1,x=0;
for(int i=0;i<n;i++){
if(x+a[i]<=k) x+=a[i];
else x=a[i],sum++;
}
if(sum<=m) return 1;
else return 0;
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++)
cin>>a[i];
int l=1,r=1e9;
while(l<r){
int mid=(l+r)>>1;
if(check(mid)) r=mid;
else l=mid+1;
}
cout<<l<<endl;
return 0;
}