Pagini recente » Cod sursa (job #2463616) | Cod sursa (job #579228) | Cod sursa (job #1422132) | Cod sursa (job #2651860) | Cod sursa (job #2518583)
#include <fstream>
#include <algorithm>
#include <iomanip>
using namespace std;
ifstream in("dezastru.in");
ofstream out("dezastru.out");
bool f[28];
long double v[28];
int main()
{
int n,k;
in>>n>>k;
for(int i=1;i<=n;++i)
in>>v[i];
for(int i=n-k+1;i<=n;++i)
f[i]=1;
long double sum=0.000000000;
do
{
long double p=1.000000000;
for(int i=1;i<=n;++i)
if(f[i]==1)
p*=v[i];
sum+=p;
}while(next_permutation(f+1,f+n+1));
for(int i=1;i<=n-k;++i)
{
long double div=i*1.000000000;
sum*=div;
}
for(int i=k+1;i<=n;++i)
{
long double div=i*1.000000000;
sum/=div;
}
out<<setprecision(10)<<sum;
return 0;
}