Cod sursa(job #1488533)

Utilizator al.mocanuAlexandru Mocanu al.mocanu Data 19 septembrie 2015 10:09:06
Problema Dezastru Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <stdio.h>
#define MAX 30

int n, k, i, j;
double p[MAX], a[MAX][MAX], comb[MAX][MAX];

int main(){
	freopen("dezastru.in", "r", stdin);
	freopen("dezastru.out", "w", stdout);
	scanf("%d%d", &n, &k);
	for(i = 1; i <= n; i++){
		scanf("%lf", &p[i]);
		a[i][0] = 1;
		comb[i][1] = i;
	}
	a[0][0] = 1;

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

	for(i = 2; i <= n; i++)
		for(j = 2; j <= i; j++)
			comb[i][j] = comb[i - 1][j - 1] + comb[i - 1][j];

	printf("%lf", a[n][k] / comb[n][k]);
}