#include<iostream>
using namespace std;
int a[100010]={};
long long n,m,ans=-1;
#define INF 10000000000000000
long long ck(long long x)
{
long long w=0,s=0;
for(int i=1;i<=n;i++)
{
w+=a[i];
if(w<=0)
w=0;
if(w>=x)
{
s++;
w=0;
}
}
return s;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
long long l=1,r=INF;
while(l<=r)
{
int mid=(l+r)/2;
if(ck(mid)<m) r=mid-1;
else if(ck(mid)>m) l=mid+1;
else
{
ans=mid;
r=mid-1;
}
}
cout<<ans<<" ";
if(ans==-1) return 0;
l=1;r=INF;
while(l<=r)
{
int mid=(l+r)/2;
if(ck(mid)<m) r=mid-1;
else if(ck(mid)>m) l=mid+1;
else
{
ans=mid;
l=mid+1;
}
}
cout<<ans;
}