Pagini recente » Cod sursa (job #2524870) | Cod sursa (job #292492) | Cod sursa (job #743692) | Cod sursa (job #308178) | Cod sursa (job #1815559)
#include <iostream>
#include <iomanip>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n, k;
double v[26], p, nr;
vector <bool> ord;
int main()
{
f>>n>>k;
for(int i=1;i<=n;i++)
f>>v[i];
for(int i=0;i<n;i++)
if(i<k)
ord.push_back(0);
else ord.push_back(1);
do
{
float x=1;
for(int i=0;i<n;i++)
if(ord[i]==0)
{
x=x*v[i+1];
}
p+=x;
nr++;
}while(next_permutation(ord.begin(), ord.end()));
p=p/nr;
g<<setprecision(6)<<p;
return 0;
}