Cod sursa(job #538568)

Utilizator Cristy94Buleandra Cristian Cristy94 Data 21 februarie 2011 18:09:10
Problema Dezastru Scor 100
Compilator cpp Status done
Runda contest- Marime 0.57 kb
#include<cstdio>
using namespace std;
int N,K;
double a[32][32], v[32], sol;
int main(){
	
	freopen("dezastru.in","r",stdin);
	freopen("dezastru.out","w",stdout);
	
	scanf("%d%d",&N,&K);
	
	for(int i=1;i<=N;++i)
		scanf("%lf",&v[i]);
	
	a[1][1] = v[1];
	for(int i=2;i<=N;++i)
		a[i][1] = a[i-1][1] + v[i],
		a[i][i] = a[i-1][i-1] * v[i];
	for(int i=2;i<=N;++i)
		for(int j=2;j<i;++j)
			a[i][j]=a[i-1][j] + a[i-1][j-1]*v[i];
	sol=a[N][K];
	
	for(int i=K+1;i<=N;++i)
		sol/=i;
	for(int i=1;i<=N-K;++i)
		sol*=i;
	
	printf("%lf",sol);
		
return 0;
}