Pagini recente » Cod sursa (job #3040882) | Cod sursa (job #462309) | Cod sursa (job #3199775) | Cod sursa (job #951846) | Cod sursa (job #431689)
Cod sursa(job #431689)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
long nr, n, p;
int x[26];
int i, j;
vector<float> b;
float s, a[26];
void Comb(int k);
int main()
{
fin >> n >> p;
for (i = 1; i <= n; i++)
fin >> a[i];
fin.close();
Comb(1);
for ( i = 0; i < b.size(); i++)
s += b[i];
fout << s / nr << '\n';
fout.close();
return 0;
}
void Comb(int k)
{
if ( k == p + 1)
{
nr++;
float v = 1;
for ( int i1 = 1; i1 <= p; i1++)
v *= a[x[i1]];
b.push_back(v);
return;
}
for ( int i1 = x[k-1] + 1; i1 <= n - p + k; i1++)
{
x[k] = i1;
Comb(k+1);
}
}