Cod sursa(job #39394)
| Utilizator | Data | 26 martie 2007 18:11:54 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.68 kb |
#include<iomanip.h>
#include<fstream.h>
#define input "dezastru.in"
#define output "dezastru.out"
#define Nmax 30
float p[Nmax],x[Nmax],proc=1,sum=0;
int n,k;
void btk(int y,int i,float t)
{
if (y==k)
sum+=t;
else
{
for (;i<n;i++)
{
t*=x[i];
btk(y+1,i+1,t);
t/=x[i];
}
}
}
int main()
{
int i;
ifstream fin(input);
ofstream fout(output);
fin>>n>>k;
for (i=0;i<n;i++)
fin>>x[i];
for(i=k;i<n;i++,proc*=i);
btk(0,0,1);
sum/=proc;
fout<<setprecision(6)<<sum<<"\n";
return 0;
}
