#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 100010;
const double eps = 1e-8;
ll n,a[N];
double dp[N];
double b[N];
bool check1(double x){
for(ll i = 1; i <= n; i++) b[i] = a[i]-x;
dp[1] = b[1];
for(ll i = 2; i <= n; i++) dp[i] = max(dp[i-1]+b[i],dp[i-2]+b[i]);
if(dp[n]<0.0&&dp[n-1]<0.0) return false;
return true;
}
bool check2(double x){
memset(b,0,sizeof(b));
memset(dp,0,sizeof(dp));
for(ll i = 1; i <= n; i++){
if(a[i]>=x) b[i] = 1;
else b[i] = -1;
}
dp[1] = b[1];
for(ll i = 2; i <= n; i++) dp[i] = max(dp[i-2]+b[i],dp[i-1]+b[i]);
if(dp[n]<=0&&dp[n-1]<=0) return false;
return true;
}
int main(){
scanf("%lld",&n);
for(ll i = 1; i <= n; i++) scanf("%lld",&a[i]);
double l = 0.00,r = 1000000010.0,mid;
while(r-l>=eps){
mid = (l+r)/2.0;
if(check1(mid)) l = mid+eps;
else r = mid-eps;
}
printf("%lf\n",l);
sort(a+1,a+n+1);
ll L = 0,R = 1e9+10,res;
while(L<=R){
ll mid = (L+R)>>1;
if(check2(mid)) L = mid+1,res = mid;
else R = mid-1;
}
printf("%lld\n",res);
return 0;
}
log1e9⋅n 为什么能 TLE