Cod sursa(job #1104330)
Utilizator | Lungu Daniel L.Daniel | Data | 10 februarie 2014 18:16:07 |
---|---|---|---|
Problema | Dezastru | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
using namespace std;
int n, t, s, v[100];
double x, a[100], b[100];
void calcul()
{
s = s + 1;
a[s] = 1;
for (int i = 1; i <= t; i++)
a[s] = a[s] * b[v[i]];
}
void BK(int k)
{
for (int i = v[k - 1] + 1; i <= n; i++)
{
v[k] = i;
if (k == t)calcul();
else BK(k + 1);
}
}
int main()
{
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
cin >> n >> t;
for (int i = 1; i <= n; i++)
cin >> b[i];
BK(1);
for (int i = 1; i <= s; i++)
x = x + a[i] / s;
cout << x;
return 0;
}