Cod sursa(job #1126254)
| Utilizator | Data | 26 februarie 2014 22:15:11 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <cstdio>
using namespace std;
const int Nmax = 25+2;
int main(){
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
int n, m;
scanf("%d%d", &n, &m);
int i, j, l = 0;
float dez, v[2][Nmax];
v[0][0] = v[1][0] = 1;
for (i = 1; i <= n; ++i) {
scanf("%f", &dez);
for (j = 1, l = 1-l; j <= i && j <= m; ++j) {
v[l][j] = j * v[1-l][j-1] * dez;
v[l][j]+= (i-j) * v[1-l][j];
v[l][j]/= i;
}
}
printf("%.*f", 6, v[l][m]);
return 0;
}
