Pagini recente » Cod sursa (job #2841497) | Cod sursa (job #613930) | Cod sursa (job #2319745) | Cod sursa (job #16944) | Cod sursa (job #2704779)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
double v[500],sol[500];
int kr,v2[500],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
{
sol[j+1]=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);
for (int i=1;i<=j;++i)
{
s=s+sol[i];
}
s=s/(double)j;
fout <<fixed<<setprecision (6)<<s;
fin.close ();
fout.close ();
return 0;
}