#include<bits/stdc++.h>
using namespace std;
int n,m,a[100000+5];
int l,r,ans;
bool check(int x)
{
int cur=0,cnt=1;
for(int i=1;i<=n;i++)
{
if(cur+a[i]>x)
{
cur=0;
cnt++;
}
cur+=a[i];
}
return cnt<=m;
}
int find(){
while(l+1<r){
int mid=(l+r)/2;
cout<<mid<<" "<<check(mid)<<"\n";
if(check(mid)) {
ans=mid;
r=mid;
}
else l=mid;
}
return ans;
}
int main(){
cin>>n>>m;
else{
for(int i=1;i<=n;i++){
cin>>a[i];
r+=a[i];
l=max(l,a[i]);
}
cout<<find();
return 0;
}
}