Cod sursa(job #339141)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 8 august 2009 14:28:36
Problema Dezastru Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <stdio.h>
#define N 1<<5
int n,k;
double v[N];
double a[N][N];
long long comb[N][N];
void read()
{
	scanf("%d%d",&n,&k);
	int i;
	for (i=1; i<=n; i++)
		scanf("%lf",&v[i]);
}
void solve()
{
	int i,j;
	for (i=0; i<=n; i++)
		a[i][0]=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];
	for (i=1; i<=n; i++)
	{
		comb[i][1]=i;
		for (j=2; j<=i; j++)
			comb[i][j]=(long long)comb[i][j-1]*(n-k+1)/k;
	}
	printf("%.6lf",a[n][k]/comb[n][k]);
}
int main()
{
	freopen("dezastru.in","r",stdin);
	freopen("dezastru.out","w",stdout);
	read();
	solve();
	return 0;
}