Cod sursa(job #2035715)

Utilizator Cristi_ChiraChira Cristian Cristi_Chira Data 9 octombrie 2017 19:38:48
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <fstream>
#include <map>
#include <climits>
#define dm 30
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int checked[dm], n, k;
float v[dm], st[dm];
void citire()
{
    fin >> n >> k;
    for(int i = 1; i <= n; i++)
    {
        fin >> v[i];
    }
}
int maxx = INT_MIN;
float sum = 0;
double nrperm;
double prod = 1;
void afis()
{
    fout << maxx / k;
}
void perm(int niv)
{
    if( niv == n + 1)
    {
        for(int i = 1; i <= k; i++)
            prod *= st[i];
        sum += prod;
        nrperm++;
        return;
    }
    prod = 1;
    for(int i = 1; i <= n; i++)
    {
        if(!checked[i])
        {
            //fout << i << " ";
            checked[i] = 1;
            st[niv] = v[i];
            perm(niv + 1);
            checked[i] = 0, prod = 1;
        }

    }
}
int main()
{
    citire();
    nrp();
    perm(1);
    fout << sum/nrperm;
    return 0;
}