Cod sursa(job #1540723)
| Utilizator | Data | 3 decembrie 2015 09:36:02 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <iostream>
#include <stdio.h>
#include <iomanip>
using namespace std;
int n,k,nr;
float v[30],S;
void Solve(int a, int b, float sol)
{
if (a==k)
{
++nr;
S+=sol;
return;
}
for (int i=b+1; i<=n+a-k+1; ++i)
Solve(a+1,i,sol*v[i]);
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&n,&k);
for (int i=1; i<=n; ++i)
scanf("%f",&v[i]);
Solve(0,0,1);
S/=nr;
printf("%.6f",S);
return 0;
}
