Cod sursa(job #206516)

Utilizator Pepelea_FlaviuFlaviu Pepelea Pepelea_Flaviu Data 7 septembrie 2008 14:19:58
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
# include <stdio.h>

using namespace std;

# define FIN "dezastru.in"
# define FOUT "dezastru.out"
# define MAXN 25

int N,K,i,j;
double V[MAXN];
double C[MAXN][MAXN];
double P[MAXN][MAXN];

    int main()
    {
        freopen(FIN,"r",stdin);
        freopen(FOUT,"w",stdout);
        
        scanf("%d%d",&N,&K);
        for (i = 1; i <= N; ++i)
           scanf("%lf",&V[i]);
        
        for (i = 0; i <= N; ++i)
          C[i][0] = 1, P[i][0] = 1;
        
        for (i = 1; i <= N; ++i) 
          for (j = 1; j<=K&&j<=i; ++j)
            {
               C[i][j] = C[i-1][j-1]+C[i-1][j];
               P[i][j] = P[i-1][j-1]*V[i]+P[i-1][j];
            }
         
        printf("%.6lf",P[N][K]/C[N][K]);
        
        return 0;
    }