Cod sursa(job #3282241)
Utilizator | Data | 4 martie 2025 21:12:58 | |
---|---|---|---|
Problema | Dezastru | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("dezastru.in");
ofstream out("dezastru.out");
int x[30],cnt,k,nr,n;
double v[30],prod,sol=0;
void back(int k)
{
if(k<=cnt)
{
for(int i=x[k-1]+1; i<=n-(cnt-k+1)+1; i++)
{
x[k]=i;
prod*=v[i];
back(k+1);
prod/=v[i];
}
}
else
{
sol+=prod;
nr++;
}
}
int main()
{
in>>n>>cnt;
for(int i=1; i<=n; i++)
in>>v[i];
prod=1;
back(1);
out<<fixed<<setprecision(6)<<(double)sol/nr;
return 0;
}