Cod sursa(job #718036)

Utilizator vladtarniceruVlad Tarniceru vladtarniceru Data 20 martie 2012 14:14:39
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
using namespace std;

ifstream in("dezastru.in");
ofstream out("dezastru.out");

int n,m,poz[30],nr;
double v[30],sum=1,sol;

inline void back(int k)
{
	if(k>m)
	{
		sol=sol+sum;
		++nr;
	}
	else
	for(int i=poz[k-1]+1;i<=n;++i)
	{
		poz[k]=i;
		sum=sum*v[i];
		back(k+1);
		sum=sum/v[i];
		poz[k]=0;
	}
}

int main()
{
	in>>n>>m;
	for(int i=1;i<=n;++i)
	{
		in>>v[i];
	}
	
	back(1);
	
	out<<(1.0*sol)/(1.0*nr);
	out.close();
	return 0;
}