Cod sursa(job #1184403)

Utilizator DenisONIcBanu Denis Andrei DenisONIc Data 12 mai 2014 17:01:28
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
long n,i,j,x[100],k;
long long s=1,c=1;
double v[101],sum,sumt;
void afisare()
{
    sum=1;
    for (int i=1;i<=k;i++)
        sum*=v[x[i]];
    sum+=0.0;
    sum/=s;
    sumt+=sum*c;
}
void bkt(long k2)
{
    if (k2>k)
        afisare();
    else
        for (int i=x[k2-1]+1;i<=n;i++)
        {
            x[k2]=i;
            bkt(k2+1);
        }
}
int main()
{
    f>>n>>k;
    for (i=1;i<=n;i++)
    {
        f>>v[i];
        if (i>n-k)
            s*=i;
    }
    for (i=1;i<=k;i++)
        c*=i;
    for (i=1;i<=n-k+1;i++)
    {
        x[1]=i;
        bkt(2);
    }
    g<<sumt;
    f.close();
    g.close();
    return 0;
}