Cod sursa(job #1245298)
Utilizator | Data | 18 octombrie 2014 21:53:30 | |
---|---|---|---|
Problema | Dezastru | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int N, K,nr = 0;
double a[40],S = 0;
void back(int k, double jeg, int last)
{
if (k == K + 1)
{
S += jeg;
nr++;
}
else
{
for (int i = last + 1; i <= N - K + k; i++)
back(k + 1, jeg * a[i], i);
}
}
int main()
{
f>>N>>K;
for (int i = 1; i <= N; i++)
scanf("%lf", &a[i]);
back(1, 1, 0);
g<< S / nr;
return 0;
}