#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; // 初項r、公比r、長さnの等比級数 double geometricSeries(double r, int n) { return r * (1 - pow(r, n)) / (1 - r); } // 初項r、公比rの無限等比級数 double infiniteGeometricSeries(double r) { return r / (1.0 - r); } double F(int n) { double a = geometricSeries(0.81, n); double b = geometricSeries(0.9, n); return sqrt(a) / b; } double f(int n) { double a = infiniteGeometricSeries(0.81); double b = infiniteGeometricSeries(0.9); double c = sqrt(a) / b; return (F(n) - c) / (F(1) - c) * 1200; } double g(double x) { return pow(2.0, x / 800.0); } double g_inv(double x) { return 800.0 * log(x) / log(2); } double solve(const vector& v) { int n = v.size(); double x = 0.0; for(int i=n-1; i>=0; --i){ x += g(v[i]); x *= 0.9; } x /= geometricSeries(0.9, n); return g_inv(x) - f(n); } int main() { int n; cin >> n; vector v(n); for(int i=0; i> v[i]; int ans = (int)round(solve(v)); cout << ans << endl; return 0; }