Cod sursa(job #2601029)
| Utilizator | Data | 13 aprilie 2020 16:39:30 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int combinari[30];
int n, p;
double cost[30];
double nr, prod;
void back(int k,double pro)
{
for(int i = combinari[k - 1] + 1;i <= n;++i)
{
combinari[k] = i;
if(k == p)
{
prod += pro * cost[combinari[k]];
++nr;
}
else
back(k + 1, pro * cost[combinari[k]]);
}
}
int main()
{
f>>n>>p;
for(int i = 1;i <= n;++i)
f>>cost[i];
back(1, 1);
g<<(double)prod / nr;
}
