Cod sursa(job #737493)

Utilizator misinoonisim necula misino Data 19 aprilie 2012 15:36:08
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
long long x,j,n,i,k,nr;
double s,p[26],a[30][30];
long long combinari(long long n,long long k)
{long long x=1,i;
if(n>2*k)
	return combinari(n,n-k);
for(i=k+1;i<=n;++i)
	x*=i;
for(i=2;i<=n-k;++i)
	x/=i;
return x;
}
int main()
{f>>n>>k;
for(i=1;i<=n;++i)
	f>>p[i];
a[0][0]=1;
for(i=1;i<=n;++i)
{a[i][0]=1;
for(j=1;j<=i;++j)
	a[i][j]=a[i-1][j]+a[i-1][j-1]*p[i];
}
x=combinari(n,k);
g.precision(19);
g<<a[n][k]/x<<'\n';
return 0;
}