Cod sursa(job #532763)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 12 februarie 2011 13:45:01
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>

double a[30][30] , p[30] , sol ;

int i,j,n,k ;

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[1][1] = p[1] ;
	
	for( i = 2 ; i <= n ; i++ )
	{
		a[i][1] = a[i-1][1] + p[i];
		a[i][i] = a[i-1][i-1] * p[i];
	}
	
	for( i = 2 ; i <= n ; i++ )
		for( j = 2 ; j < i ; j++ )
			a[i][j] = a[i-1][j] + a[i-1][j-1] * p[i] ;
	
	sol = a[n][k] ;
	
	for( i = k + 1 ; i <= n ; i++ )
		sol /= i ;
	
	for( i = 1 ; i <= n - k ; i++ )
		sol *= i ;
	
	printf("%lf",sol);
	
	return 0 ;
}