Lang:G++
Edit12345678910111213141516171819202122#include <iostream>#include <vector>using namespace std;int main(){int N, M;cin >> N >> M;vector<double> p(N + 1);vector<vector<double>> dp(N + 1, vector<double>(M + 1, 0));dp[0][0] = 1;for (int i = 1; i <= N; ++i) {cin >> p[i];dp[i][0] = dp[i - 1][0] * (1 - p[i]);for (int j = 1; j <= M; ++j)dp[i][j] = dp[i - 1][j] * (1 - p[i]) + dp[i - 1][j - 1] * p[i];}cout << dp[N][M] << endl;return 0;}