Cod sursa(job #248418)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 25 ianuarie 2009 18:16:19
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<algorithm>
using namespace std;
int n,k,x,sol[101];
float s,a[26];
void back(int m){
	int i;
	float p;
	if(m==k+1){
		p=1;
		for(i=1; i<m; ++i)
			p*=a[sol[i]];
		s+=p;
		++x;}
	else
		for(i=1; i<=n; ++i)
			if(i>sol[m-1]&&i<=n-(k-m)){
				sol[m]=i;
				back(m+1);}}
void solve(){
	int i;
	scanf("%d%d",&n,&k);
	for(i=1; i<=n; ++i)
		scanf("%f",&a[i]);
	sort(a+1,a+n+1);
    back(1);
    printf("%f",s/x);}
int main(){
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    solve();
    return 0;}