Cod sursa(job #1926132)

Utilizator waren4Marius Radu waren4 Data 13 martie 2017 23:27:49
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;

ifstream f("dezastru.in"); ofstream g("dezastru.out");
int n,i,k; double a[26],pr; int x[26];

void back(int l)
{
    int i;
    if (l==k)
    {
        float p;
        p=1;
        for(i=1;i<=k;i++)
        {
            p*=a[x[i]];
        }
        pr+=p;
    }
    else
    {
        for(i=x[l]+1;i<=n;i++)
        {
            x[l+1]=i;
            back(l+1);
        }
    }
}
int main()
{
    f>>n>>k;
    x[0]=0;
    for(i=1;i<=n;i++) f>>a[i];
    pr=0.0;
    back(0);
    for(i=2;i<=n;i++) pr=pr/i;
    for(i=2;i<=k;i++) pr=pr*i;
    for(i=2;i<=n-k;i++) pr=pr*i;
    g<<pr;
    return 0;
}