Pagini recente » Cod sursa (job #1824780) | Cod sursa (job #2149011) | Cod sursa (job #1912546) | Cod sursa (job #1640093) | Cod sursa (job #1015495)
#include <fstream>
#include <iomanip>
using namespace std;
void Back();
int N, K;
double V[26], final;
int number;
double now;
int k, last;
int main()
{
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
fin >> N >> K;
for (int i = 1; i <= N; ++i)
fin >> V[i];
now = 1, k = 1, last = 0;
Back();
final /= number;
fout << fixed << setprecision(7) << final;
fin.close();
fout.close();
}
void Back()
{
for (int i = last + 1; i <= N - (K - k); ++i)
{
int aux1 = last;
double aux2 = now;
if (k < K)
{
++k, now *= V[i], last = i;
Back();
--k, now = aux2, last = aux1;
}
else
{
now *= V[i];
++number, final += now;
now = aux2;
}
}
}