0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-11-24 03:48:47 +00:00
OI-codes/Luogu/P1654/P1654.cpp

22 lines
549 B
C++
Raw Normal View History

2021-07-04 03:17:24 +00:00
#include <bits/stdc++.h>
using namespace std;
int n;
double a[100005], l1[100005], l2[100005], l3[100005], ans[100005];
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
for (int i = 1; i <= n; i++) {
l1[i] = a[i] * (l1[i - 1] + 1);
l2[i] = a[i] * (l2[i - 1] + 2 * l1[i - 1] + 1);
l3[i] = a[i] * (l3[i - 1] + 3 * l2[i - 1] + 3 * l1[i - 1] + 1);
ans[i] = ans[i - 1] + l3[i] - a[i] * l3[i - 1];
}
cout << fixed << setprecision(1) << ans[n] << endl;
return 0;
}