Cod sursa(job #201440)

Utilizator piroslPiros Lucian pirosl Data 31 iulie 2008 18:58:45
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<iostream>
using namespace std;


int main(void)
{
	freopen("dezastru.in", "r", stdin);
	freopen("dezastru.out", "w", stdout);
	int n,k;
	double prob[26];
	double comb[26][26];
	double c_prob[26][26];
	cin >> n >> k;
	for(int i=0;i<n;++i)
	{
		for(int j=0;j<=n;++j)
		{
			comb[i][j] = 0;
			c_prob[i][j]= 0;
		}
	}
	for(int i=0;i<n;++i)
		cin >> prob[i];
	for(int i=0;i<=n;++i)
	{
		comb[i][0] = 1;
		c_prob[i][0] = 1;
		for(int j=1;j<=i;++j)
		{
			comb[i][j] = comb[i-1][j-1]+comb[i-1][j];
			c_prob[i][j] = c_prob[i-1][j-1]*prob[i-1]+c_prob[i-1][j];
		}
	}
	cout << c_prob[n][k] / comb[n][k] << endl;
	return 0;
}