Cod sursa(job #818743)

Utilizator jumper007Raul Butuc jumper007 Data 17 noiembrie 2012 22:17:03
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 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;
}