#include using namespace std; const int NMAX = 1e6+5; int n; double a[NMAX]; void read() { cin >> n; for (int i = 1, x; i <= n; i++) { cin >> x; a[i] = double(x) / 1e6; } } int solve() { double ans = 0, sum = 0, prod = 1; for (int l = 1, r = 1; l <= n; l++) { while (r <= n && sum * prod < (sum + (a[r] / (1.0 - a[r]))) * prod * (1.0 - a[r])) { sum += a[r] / (1.0 - a[r]); prod *= 1.0 - a[r]; r++; } ans = max(ans, sum * prod); sum -= a[l] / (1.0 - a[l]); prod /= 1.0 - a[l]; } return ans * 1e6; } signed main() { #ifdef LOCAL freopen("input.txt", "r", stdin); #else freopen("cowdate.in", "r", stdin); freopen("cowdate.out", "w", stdout); #endif ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); read(); cout << solve(); return 0; }