Pagini recente » Cod sursa (job #2883767) | Cod sursa (job #2465291) | Cod sursa (job #2909078) | Cod sursa (job #897954) | Cod sursa (job #2704781)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
double v[500000],p;
int kr,v2[50000],j;
void solve (int n, int k, double produs)
{
if (k>0)
{
for (int i=v2[kr-k]+1;i<=n;++i)
{
v2[kr-k+1]=i;
solve (n,k-1,produs*v[i]);
}
}
else
{
p+=produs;
j++;
}
}
int main()
{
double s=0;
int n,k;
fin >>n>>k;
kr=k;
for (int i=1;i<=n;++i)
{
fin >>v[i];
}
solve (n,k,1);
p=p/(double)j;
fout <<fixed<<setprecision (6)<<p;
fin.close ();
fout.close ();
return 0;
}