#include using namespace std; using int64 = long long; using uint64 = unsigned long long; double mean(vector& seq) { double sum = 0.0; for (auto e : seq) { sum += e; } return sum / seq.size(); } double sd(vector& seq) { double sum = 0.0; for (auto e : seq) { sum += e * e; } return sqrt(sum / seq.size() - pow(mean(seq), 2)); } double cov(vector& x, vector& y) { double sum = 0.0, xmean = mean(x), ymean = mean(y); for (int i = 0; i < (int)x.size(); i++) { sum += (x[i] - xmean) * (y[i] - ymean); } return sum / x.size(); } int main() { cin.tie(nullptr); ios::sync_with_stdio(false); int N; cin >> N; vector x(N), y(N); for (int i = 0; i < N; i++) { cin >> y[i]; x[i] = i; } double A = cov(x, y) / pow(sd(x), 2), B = mean(y) - A * mean(x), error = 0.0; for (int i = 0; i < N; i++) { error += pow(y[i] - (B + A * i), 2); } cout << fixed << setprecision(10) << B << " " << A << endl; cout << fixed << setprecision(10) << error << endl; return 0; }