Cod sursa(job #68693)

Utilizator c_sebiSebastian Crisan c_sebi Data 29 iunie 2007 09:17:46
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <stdio.h>

int main() {
	int n, k, i, j;
	double p[26], a[26][26], comb=1;
	FILE *f=fopen ("dezastru.in", "r"), *g=fopen ("dezastru.out", "w");
	fscanf (f, "%d %d\n", &n, &k);
	for (i=1; i<=n; ++i) {
		fscanf (f, "%lf ", &p[i]);
		a[i][0]=1;
	}
	fclose(f);
	a[1][1]=p[1];
	for (i=2; i<=n; ++i)
		for (j=1; j<=i; ++j)
			a[i][j] = a[i-1][j] + a[i-1][j-1]*p[i];
	for (i=1; i<=k; ++i)
		comb= comb*(n-i+1)/i;

	fprintf (g, "%lf\n", a[n][k]/comb);
	fclose(g);
	return 0;
}