Cod sursa(job #2282711)
| Utilizator | Data | 14 noiembrie 2018 13:34:19 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
typedef long double ld;
int n,k;
ld dp[30];
ld sum=0;
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
cin>>n>>k;
for(int i=1;i<=n;i++)
{
ld x;
cin>>x;
for(int cnt=min(i,k);cnt>=1;cnt--)
{
dp[cnt]=(dp[cnt-1]*x+dp[cnt]+(cnt==1)*x);
}
}
for(ld x=k+1;x<=n;x++)
{
dp[k]/=x;
}
cout<<fixed<<setprecision(6)<<dp[k]<<"\n";
return 0;
}
