Cod sursa(job #339127)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 8 august 2009 13:24:55
Problema Dezastru Scor 70
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];
void read()
{
	scanf("%d%d",&n,&k);
	int i;
	for (i=1; i<=n; i++)
		scanf("%lf",&v[i]);
}
void solve()
{
	int i,j;
	long long nr=1,nr2=1;
	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=k+1; i<=n; i++)
		nr=(long long)nr*i;
	for (i=1; i<=(n-k); i++)
		nr2=(long long)nr2*i;
	nr/=nr2;
	a[n][k]/=nr;
	printf("%.6lf",a[n][k]);
}
int main()
{
	freopen("dezastru.in","r",stdin);
	freopen("dezastru.out","w",stdout);
	read();
	solve();
	return 0;
}