Cod sursa(job #457260)
| Utilizator | Data | 18 mai 2010 18:01:12 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <cstdio>
const char FIN[] = "dezastru.in";
const char FOU[] = "dezastru.out";
double V[30] , sum = 0.00;
int N , K , cnt;
void dez (int k , int li , double poz)
{
if ( k == K ) sum += poz, ++cnt;
else
for (int i = li; i < N; ++i)
dez (k + 1 , i + 1 , poz * V[i]);
}
int main()
{
freopen(FIN, "r", stdin);
freopen(FOU, "w", stdout);
scanf("%d %d", &N, &K);
for (int i = 0; i < N; ++i)
scanf("%lf", &V[i]);
dez(0 , 0 , 1.0);
printf("%6lf", sum / cnt);
return 0;
}
