Cod sursa(job #39726)

Utilizator CezarMocanCezar Mocan CezarMocan Data 26 martie 2007 22:17:52
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream.h>
#include <stdio.h>

float v[33],s;
int n,k,i,j,g,st[33];

void back(int g){
int i,l;
float t=1;
if (g==k)
    {
    for(i=1;i<=k;i++)
        t*=v[st[i]]*i; 
    s+=t;   
    }
else
    {
    l=n-(k-(g+1));
    for(i=st[g]+1;i<=l;i++)
        {
        st[g+1]=i;
        back(g+1);    
        }        
    }         
}

int main(){
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d",&n,&k);
for (i=1;i<=n;i++)
    scanf("%f",&v[i]);  
back(0);
for (i=n-k+1;i<=n;i++)
    s/=i;
printf("%.6f\n",s);
return 0;
}