Cod sursa(job #1225700)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 3 septembrie 2014 13:54:23
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,sol[30],nr,m;
double v[30],suma;
void ver()
{
    int i;double p=1;
    for(i=1;i<=m;i++)
        p*=v[sol[i]];
    suma+=p;
}
void back(int k)
{int i;
    if(k>m) ver(),nr++;
    else
    {
        for(i=sol[k-1]+1;i<=n;i++)
        {
            sol[k]=i;
            back(k+1);
        }
    }
}
int main()
{
    f>>n>>m;
    for(int i=1;i<=n;i++)
        f>>v[i];
    back(1);
    f.close();
    g<<fixed<<setprecision(6)<<(double)suma/nr;
    g.close();
}