using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); public static void Main() { Solve(); } static void Solve() { var n = NN; var a = NList; var half = (n - 1) / 2.0; var vleft = -0.1; var vright = 100000.1; while (vright - vleft > 0.0000001) { var vmid1 = (vleft * 2 + vright) / 3; var vmid2 = (vleft + vright * 2) / 3; var sum1 = 0.0; var sum2 = 0.0; for (var i = 0; i < n; ++i) { sum1 += (a[i] - vmid1) * (a[i] - vmid1); sum2 += (a[i] - vmid2) * (a[i] - vmid2); } if (sum1 > sum2) vleft = vmid1; else vright = vmid2; } var dleft = -400000.0 / (n - 1); var dright = 400000.0 / (n - 1); while (dright - dleft > 0.0000001) { var dmid1 = (dleft * 2 + dright) / 3; var dmid2 = (dleft + dright * 2) / 3; var sum1 = 0.0; var sum2 = 0.0; for (var i = 0; i < n; ++i) { var b1 = vleft + (i - half) * dmid1; var b2 = vleft + (i - half) * dmid2; sum1 += (a[i] - b1) * (a[i] - b1); sum2 += (a[i] - b2) * (a[i] - b2); } if (sum1 > sum2) dleft = dmid1; else dright = dmid2; } var ans = 0.0; for (var i = 0; i < n; ++i) { var b1 = vleft + (i - half) * dleft; ans += (a[i] - b1) * (a[i] - b1); } WriteLine($"{vleft - half * dleft:0.0000000} {dleft:0.0000000}"); WriteLine($"{ans:0.0000000}"); } }