Cod sursa(job #1198150)
| Utilizator | Data | 14 iunie 2014 18:29:43 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <fstream>
#include <iomanip>
using namespace std;
int a[30],nr=0,k,n;
double p[30],ans;
void comb(int x){
int i;
if(x==k+1){
double s=1;
for(i=1;i<=k;i++)
s*=p[a[i]];
ans+=s;
nr++;
return;
}
for(i=a[x-1]+1;i<=n;i++){
a[x]=i;
comb(x+1);
}
}
int main(){
ifstream f("dezastru.in");
ofstream g("dezastru.out");
f >> n >> k;
for(int i=1;i<=n;i++)
f >> p[i];
comb(1);
g << fixed << setprecision(6) << ans/nr;
}
