Cod sursa(job #532751)

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

int x[30],n,K,i;
double a[30],S,P;

void back( int k ) 
{
	int i ;
	
	for( i = x[k-1] + 1 ; i <= n ; i++ )
	{
		x[k] = i ; 
		P *= a[x[k]] ;
		
		if( k == K )
		{
			S += P ;
			P /= a[x[k]] ;
		}
		else
		{
			back(k+1);
			P /= a[x[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",&a[i]);
	
	P = 1 ; back(1);
	
	for( i = K + 1 ; i <= n ; i++ )
		S /= i ;
	
	printf("%lf",S);
	
	return 0 ;
}