Cod sursa(job #902733)

Utilizator lehman97Dimulescu David lehman97 Data 1 martie 2013 16:27:00
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <stdio.h>


using namespace std;

FILE *f=fopen("dezastru.in","r");
FILE *g=fopen("dezastru.out","w");


int i,nr,n,m;
double v[30],prod,sum;
int s[30];

void back(int k)
{
    int i;
    for(i=s[k-1]+1;i<=n;i++)
    {
        s[k]=i;
        prod*=v[i];
        if(k==m){sum+=prod;nr++;}
        if(k<m)back(k+1);
        prod/=v[i];
    }
}


int main()
{
    fscanf(f,"%d%d",&n,&m);
    nr=0;
    sum=0;
    prod=1;
    for(i=1;i<=n;i++)fscanf(f,"%lf",&v[i]);
    back(1);
    sum/=nr;
    fprintf(g,"%.6lf",sum);
    fclose(g);
    return 0;
}