Cod sursa(job #167275)
| Utilizator | Data | 29 martie 2008 13:18:23 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <stdio.h>
int s[30],nr=0,n,k;
float v[30],sol;
void solutie(){
int i;
float x=1;
nr++;
for(i=1;i<=k;i++)
x*=v[s[i]]*1.0;
sol+=x;
}
void back(int l){
int i;
if(l==k)
solutie();
else
for(i=s[l]+1;i<=n-k+l+1;i++){
s[l+1]=i;
back(l+1);
}
}
int main(){
int i;
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
scanf("%f",&v[i]);
back(0);
sol=sol/nr*1.0;
printf("%.6f",sol);
}