Cod sursa(job #819152)

Utilizator Detrol2kGuianu Leon Detrol2k Data 18 noiembrie 2012 16:31:22
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string.h>
using namespace std;

long double factorial(int x)
{
	long double p = 1;
	for(int i=1; i<=x; i++)
		p *= i;
	return p;
}

int main()
{
	ifstream f("dezastru.in");
	ofstream g("dezastru.out");
	
	int n, k, i, j;
	double v[100], m[100][100];
	long double c;
	
	//Read
	f>>n>>k;
	for(i=1; i<=n; i++)
	{
		f>>v[i];
		m[i][0] = 1;
	}
	
	//Compute
	m[0][0] = 1;
	for(i=1; i<=n; i++)
		for(j=1; j<=k; j++)
			m[i][j] = m[i-1][j] + m[i-1][j-1] * v[i];
			
	c = (long double)factorial(n)/factorial(k)*factorial(n-k);
	
	//Print
	g<<m[n][k]/c;
}