Cod sursa(job #2690238)

Utilizator UnknownPercentageBuca Mihnea-Vicentiu UnknownPercentage Data 23 decembrie 2020 14:25:41
Problema Dezastru Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("dezastru.in");
ofstream g("dezastru.out");

int v[26];
int n, m, l;
double a[26];
long double sum;

void afis(){
    long double cost = a[v[1]];
    for(int i = 2;i <= m;i++)
        cost *= a[v[i]];
    sum += (2 * cost);
    l += 2;

}

void back(int k){

    for(int i = v[k - 1] + 1;i <= n;i++){
        v[k] = i;
        if(k == m) afis();
        else back(k + 1);
    }
}

int main(){
    f >> n >> m;
    for(int i = 1;i <= n;i++)
        f >> a[i];
    back(1);
    g << fixed << setprecision(6) << sum / l;
}