#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,m,a[N];
bool check(int mid){
int t=1,cnt=0;
for(int i=1;i<=n;i++){
cnt+=a[i];
if(cnt>mid) t++,cnt=0,i--;
else if(t>m) return 0;
}
return 1;
}
int main(void){
cin.tie(0);
cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
long long l=1,r=1e9,ans=r;
while(l<=r){
int mid=l+r>>1;
if(check(mid)) ans=mid,r=mid-1,cout<<ans<<endl;
else l=mid+1;
}
cout<<ans;
return 0;
}