Cod sursa(job #1411940)

Utilizator bluespideyMarin Diana bluespidey Data 1 aprilie 2015 00:38:34
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <iomanip>

using namespace std;

ifstream fin("dezastru.in");
ofstream fout("dezastru.out");

int n, N, i, maxi,j,k;
double v[30], m[30][30];
long  double a=1,c=1;

int mini(int a,int b)
{
    if(a<b)
        return a;
    else return b;
}


int main()
{
    fin >> n >> k;

    for(i = 1; i <= n; ++i)
        fin >> v[i];

    for(i = 0; i <= n; ++i)
        m[i][0] = 1;

    for(i = 1; i <= n; ++i)
        {
            maxi = mini(k,i);

            for(j = 1;j <= maxi; ++j)
                m[i][j] = m[i-1][j-1]*v[i]+m[i-1][j];
        }

    for(i = n-k+1; i <= n; ++i)
        a*= i;
    for(i = 1; i <= k; ++i)
        c*= i;

    c = a/c;


    fout <<fixed << setprecision(6)<< m[n][k]/c;





    return 0;
}