Cod sursa(job #701941)

Utilizator ms-ninjacristescu liviu ms-ninja Data 1 martie 2012 18:41:33
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
#define dim 30
double v[dim],sol[dim],s;
int n,k,q;

float check()
{
	float re=1;
	for(int i=1;i<=k;++i)
		re*=v[(int)sol[i]];
		return re;
}

void back(int val, int start)
{
	if(val==k+1)
	{
		s+=check();
		++q;
	}
	else
		for(int f=start+1;f<=n;++f)
		{
			sol[val]=f;
			back(val+1,f);
		}
}
			
int main()
{
	fin>>n >>k;
	for(int i=1;i<=n;++i)
		fin>>v[i];

	
	back(1,0);
	fout<<s/q;
	
	return 0;
}