洛谷P1654 OSU!_概率与期望

Code:

#include
#include
using namespace std;
const int maxn = 1000000 + 4;
double f[maxn], g[maxn], h[maxn];
int main()
{
    int n;
    scanf("%d",&n);
    for(int i = 1;i <= n; ++i)
    {
        double perc;
        scanf("%lf",&perc);
        h[i] = (h[i - 1] + 1) * perc;
        g[i] = (g[i - 1] + 2 * h[i - 1] + 1) * perc;
        f[i] = f[i - 1] + (3 * (h[i - 1] + g[i - 1]) + 1) * perc;
    }
    printf("%.1lf",f[n]);
    return 0;
}

你可能感兴趣的:(洛谷P1654 OSU!_概率与期望)