Pagini recente » Cod sursa (job #2401453) | Cod sursa (job #1555105) | Cod sursa (job #2969213) | Cod sursa (job #3221575) | Cod sursa (job #1666510)
#include <algorithm>
#include <bitset>
#include <cmath>
#include <fstream>
#include <iostream>
#include <queue>
#include <stack>
#include <string.h>
#include <string>
#include <vector>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
const int INF = 0x3f3f3f3f;
const int Nmax = 30;
double p[Nmax];
int N, K;
int cnt = 0;
double sum = 0;
void back(double prob, int lvl, int k) {
if (k == 0) {
sum += prob;
++cnt;
return;
}
if (lvl < k)
return;
back(prob, lvl-1, k);
back(prob*p[lvl], lvl-1, k-1);
}
int main() {
fin >> N >> K;
for (int i = 1; i <= N; ++i)
fin >> p[i];
back(1, N, K);
fout << (sum / cnt) << endl;
return 0;
}