Pagini recente » Cod sursa (job #573044) | Cod sursa (job #2496751) | Cod sursa (job #2862046) | Cod sursa (job #725031) | Cod sursa (job #1497140)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n, m, i, P;
float v[30], st;
void back(int k, int a, float p){
if(k==m+1)
{
st+=p;
return;
}
for(int i=a; i<=n; i++)
{
if(k+(n-i+1)<m)
return;
p*=v[i];
back(k+1, i+1, p);
p/=v[i];
}
}
int main(){
f>>n>>m;
for(i=1; i<=n; i++)
f>>v[i];
sort(v+1, v+n+1);
if(n==1)
{
g<<v[1]<<"\n";
return 0;
}
P=1;
for(i=3; i<=n; i++)
P*=i;
back(1, 1, 1);
g<<st/P<<"\n";
return 0;
}