Cod sursa(job #39661)

Utilizator CezarMocanCezar Mocan CezarMocan Data 26 martie 2007 21:41:03
Problema Dezastru Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream.h>
#include <stdio.h>


ifstream fin("dezastru.in");

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
    {
    for(i=st[g]+1;i<=n-g+1;i++)
        {
        st[g+1]=i;
        back(g+1);    
        }        
    }         
}

int main(){
freopen("dezastru.out","w",stdout);
fin>>n>>k;
for (i=1;i<=n;i++)
    fin>>v[i]; 
back(0);
for (i=n-k+1;i<=n;i++)
    s/=i;
printf("%.6lf\n",s);
fin.close();
return 0;
}