#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+50;
ll n,k,l,r,a[N];
bool pd;
ll cheak(ll x){
ll an=0,kk=0;
for(ll i=1;i<=n;i++){
an=max(0*1ll,an+a[i]);
if(an>=x)kk++,an=0;
}
if(kk==k)return 1;
if(k<kk)return 2;
return 3;
}
int main(){
scanf("%lld%lld",&n,&k);
for(ll i=1;i<=n;i++)scanf("%lld",a+i);
l=-1e18-1,r=1e18+1;
pd=true;
while(l+1!=r){
ll mid=l+r>>1;
ll op=cheak(mid);
if(op==1){
pd=false;
break;
}
else if(op==2)l=mid;
else r=mid;
}
if(pd){
printf("-1");
return 0;
}
l=-1e18-1,r=1e18+1;
while(l+1!=r){
ll mid=l+r>>1;
ll op=cheak(mid);
if(op==1)pd=false;
if(op==2)l=mid;
else r=mid;
}
printf("%lld ",r);
l=-1e18-1,r=1e18+1;
while(l+1!=r){
ll mid=l+r>>1;
ll op=cheak(mid);
if(op!=3)l=mid;
else r=mid;
}
printf("%lld",l);
return 0;
}