#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; ll n, m; ll sum = 0; ll memo[50][50] = {}; void kansuu(ll num, ll visited[10]) { } int main() { long double a, b = 0, c = 0, d = 0; //ll a, b = 0, c = 0, d = 0; ll l; char C[1000][1000] = {}; long double x[1001] = {}, y[1001] = {}, xhensa[1001] = {}, yhensa[1001] = {}, xave, yave, xkyobun[1001] = {}, ykyobun[1001] = {}, xykyobun[1001] = {}, xkyo = 0, ykyo = 0, xykyo = 0; string s; ll n, A[1001]; cin >> n; for (int i = 0; i < n; i++) { cin >> y[i]; } for (int i = 0; i < n; i++) { x[i] = i; } yave = (double)accumulate(y, y + n, 0) / n; xave = (double)accumulate(x, x + n, 0) / n; for (int i = 0; i < n; i++) { xhensa[i] = x[i] - xave; yhensa[i] = y[i] - yave; } for (int i = 0; i < n; i++) { xkyobun[i] = xhensa[i] * xhensa[i]; ykyobun[i] = yhensa[i] * yhensa[i]; xykyobun[i] = xhensa[i] * yhensa[i]; } for (int i = 0; i < n; i++) { xkyo += xkyobun[i]; ykyo += ykyobun[i]; xykyo += xykyobun[i]; } xkyo /= n; ykyo /= n; xykyo /= n; a = xykyo / xkyo; b = yave - a*xave; cout << setprecision(15) << b << endl; cout << setprecision(15) << a << endl; long double v = 0; for (int i = 0; i < n; i++) { v += (y[i] - b)*(y[i] - b); b += a; } cout << setprecision(15) << v << endl; //cout << sum << endl; //cout << endl; return 0; } //memcpy(x, visited, sizeof(ll)*n); //void kansuu(ll num, ll visited[10]) {} //kansuu(1, zz);