Cod sursa(job #785663)

Utilizator IliesiDanielDaniel IliesiDaniel Data 9 septembrie 2012 16:26:37
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <iomanip>
#include <fstream>

using namespace std;

ifstream fin("dezastru.in");
ofstream fout("dezastru.out");

int n, K, nr, i, j;
float a[30][30], v[30], prod, S;

void det(void)
{
     if(K<=n)		nr=1;

     j=n;

     for(i=1; i<=K && nr; ++i)
     {
         nr*=j--;
         nr/=i;
     }
}
int main()
{
	fin>>n>>K;

	for(i=1; i<=n; i++)
		fin>>v[i];

	det();

	for(i=0; i<n; i++)
 		a[i][0]=a[i][i]=1;

	for(i=1; i<=n; ++i)
		for(j=1; j<=i; ++j)
			a[i][j]=a[i-1][j]+a[i-1][j-1]*v[i];

	fout<<setprecision(6)<<a[n][K]/nr;

	fin.close();
	fout.close();
	return 0;
}