#include<bits/stdc++.h>
using namespace std;
const int N=100005;
int n,m,ans,num[N],maxn;
bool check(int x){
int res=0,arr=0;
for(int i=1;i<=n;i++){
if(num[i]>x)return false;
if(arr+num[i]>x){
arr=num[i];
res++;
}
else arr+=num[i];
}
if(res<m)return true;
else return false;
}
int main(){
ios::sync_with_stdio(false);
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>num[i];
maxn+=num[i];
}
int l=0,r=maxn;
while(l<=r){
int mid=(l+r)>>1;
if(check(mid)){
ans=mid;
r=mid-1;
}
else l=mid+1;
}
cout<<ans<<endl;
return 0;
}