Cod sursa(job #2632725)

Utilizator etohirseCristi Cretu etohirse Data 4 iulie 2020 15:46:09
Problema Dezastru Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <bits/stdc++.h>
using namespace std;

const int mxN=30;
int n, k;
double x=1.0, a[mxN], dp[mxN][mxN];

int main(){
	ifstream cin("dezastru.in");
	ofstream cout("dezastru.out");
	cin >> n >> k;
	for(int i=1; i<=n; ++i)
		cin >> a[i];
	for(int i=1; i<=n-k; ++i)
		x=(x*i)/(n+1-i);
	dp[0][0]=1;
	for(int i=1; i<=n; ++i){
		dp[i][0]=1;
		for(int j=1; j<=k; ++j)
			dp[i][j]=dp[i-1][j-1]*a[i] + dp[i-1][j];
	}
	cout << fixed << setprecision(-3) << dp[n][k] * x;
}