Cod sursa(job #39656)

Utilizator CezarMocanCezar Mocan CezarMocan Data 26 martie 2007 21:37:54
Problema Dezastru Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 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
    {
    l=k+g;
    if (n<l)
        l=n;
    for(i=st[g]+1;i<=l;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;
}