Cod sursa(job #496839)

Utilizator dushmiMihai-Alexandru Dusmanu dushmi Data 30 octombrie 2010 22:13:08
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>
#include<math.h>
int n,j,k,ev,as,m,a[30],sol;
double qq,stot,sx,rasp,s[30];
void back(int l)
{
	if(l==k+1)
	{
		stot+=qq;
		sol++;
		return;
	}
	for(int i=a[l-1]+1;i<=n;i++)
	{
			a[l]=i;
			qq*=s[i];
			back(l+1);
			qq/=s[i];
	}
}
int main()
{
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++)
		scanf("%lf",&s[i]);
	qq=1;
    back(1);
    rasp=(double)stot/(double)sol;
    printf("%.6lf",rasp);
	return 0;
}