Cod sursa(job #902037)

Utilizator anonymous_l3510nAnonymous Romania anonymous_l3510n Data 1 martie 2013 12:36:49
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<fstream>
 
using namespace std;
 
long double rezolvare(int x);
 
int main(int argc, char *argv[])
{
    double sol[26], Sol[26][26];
    int n, k;
 
    ifstream _in("dezastru.in");
    ofstream _out("dezastru.out");
 
    _in >> n >> k;
 
    for (int i = 1; i <= n; i++){
        Sol[i][0]=1;
        _in >> sol[i];
    }
 
    Sol[0][0] = 1;
 
    for (int i = 1; i <= n; i++){
        for (int j = 1; j <= k; j++){
            Sol[i][j] = Sol[i-1][j] + Sol[i-1][j-1] * sol[i];
        }
    }
 
    _out.precision(7);
 
    long double combinari = (long double)rezolvare(n) / (rezolvare(n-k) * rezolvare(k));
 
    _out << Sol[n][k] / combinari;
}
 
long double rezolvare(int x){
 
    long double produs = 1;
 
    for (int q = 1; q <= x; q++){
        produs = produs * q;
    }
 
    return produs;
}