Cod sursa(job #1236466)

Utilizator Mr.DoomRaul Ignatus Mr.Doom Data 1 octombrie 2014 22:56:37
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
using namespace std;

ifstream is("dezastru.in");
ofstream os("dezastru.out");

int n, k;
float p[26];
int c[26][26];
float r[26][26];

int main()
{
	is >> n >> k;
	for ( int i = 1; i <= n; ++i )
		is >> p[i];
	for ( int i = 0; i <= n; ++i )
		c[i][0] = c[i][i] = r[i][0] = 1;
	r[0][0] = 1;
	for ( int i = 1; i <= n; ++i )
		for ( int j = 1; j <= i; ++j )
			c[i][j] = c[i - 1][j - 1] + c[i - 1][j];
	for ( int i = 1; i <= n; ++i )
		for ( int j = 1; j <= i; ++j )
			r[i][j] = r[i - 1][j - 1] * p[i] + r[i - 1][j];
	os << r[n][k] / c[n][k];
	
	
	is.close();
	os.close();
	return 0;
}