Cod sursa(job #3327630)
| Utilizator | Data | 4 decembrie 2025 17:25:16 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int N, K, x[30], cnt;
double prob, v[30];
void bt(int k, double p)
{
if(k <= K)
for(int i = x[k - 1] + 1; i <= N; ++i)
{
x[k] = i;
bt(k + 1, p * v[i]);
}
else
{
prob += p;
cnt++;
}
}
int main()
{
f >> N >> K;
for(int i = 1; i <= N; ++i)
f >> v[i];
bt(1, 1);
g << prob / cnt;
f.close();
g.close();
return 0;
}
