Cod sursa(job #811064)

Utilizator Mihnea35Gall Mihnea Mihnea35 Data 11 noiembrie 2012 14:26:16
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <cstdio>

using namespace std;

int x[26],viz[26],n,k,nr;
double p[26],s,pr=1;

void citire ()	{
	int i;
	freopen("dezastru.in","r",stdin);
	scanf("%d%d",&n,&k);
	for (i=1;i<=n;i++)
		scanf("%ld",&p[i]);
}

void actualizare ()	{
	s+=pr;
}

void back (int vf) {
	int i;
	for (i=x[vf-1]+1;i<=n-k+vf;i++) {
		x[vf]=i;
		pr*=p[x[vf]];
		if (vf==k) {
			nr++;
			actualizare();
			}
		else back(vf+1);
		pr/=p[x[vf]];

	}
}

int main ()	{
	citire();
	back(1);
	freopen ("dezastru.out","w",stdout);
	printf("%.6lf",s/nr);
return 0;
}