Pagini recente » Cod sursa (job #860883) | Cod sursa (job #1851291) | Cod sursa (job #1895175) | Cod sursa (job #1924169) | Cod sursa (job #393056)
Cod sursa(job #393056)
#include <fstream>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
void Back(int p);
void Solve(int p);
int n, k, x[30], nrsol;
long double a[30], sumfinal;
int main()
{
fin >> n >> k;
for ( int i = 1; i <= n; i++)
fin >> a[i];
Back(1);
fout<<sumfinal/nrsol;
fin.close();
fout.close();
}
void Back(int p)
{
if(p == k+1)
Solve(p-1);
if( p <= k)
for(int i=1;i<=n;i++)
if(x[p-1]<i)
{
x[p]=i;
Back(p+1);
}
}
void Solve( int p)
{
nrsol++;
long double prod = 1;
for ( int i = 1; i <= k; ++i)
prod*=a[x[i]];
sumfinal+=prod;
}