Cod sursa(job #158194)
| Utilizator | Data | 13 martie 2008 15:15:45 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 0 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<stdio.h>
int st[25],i,prod,n,m;
float suma,a[25];
void back(int k,float p)
{int i;
if (k==m+1) suma+=p;
else
{
for (i=st[k-1]+1;i<=n;i++)
st[k]=i,back(k+1,p*a[i]);
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d",&n,&m);
for (i=1;i<=n;i++)
scanf("%f",&a[i]);
prod=1;
for (i=m+1;i<=n;i++)
prod*=i;
back(1,1);
printf("%.6f",(float)suma/prod);
return 0;
}
