提交时间:2026-06-13 14:16:00
运行 ID: 42108
#include<bits/stdc++.h> using namespace std; const int N=5e5+10; int n; double a[N]; double Max; double ans1,ans2=1; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%lf",&a[i]); Max=max(a[i],Max); } if(Max>=0.5){ printf("%.14lf",Max); // }else{ sort(a+1,a+n+1,greater<double>() ); Max=0; for(int i=1;i<=n;i++){ ans1=(ans1*(1-a[i]))+(ans2*a[i]); Max=max(Max,ans1); ans2=ans2*(1-a[i]); } printf("%.14lf",Max); } return 0; }