Pagini recente » Monitorul de evaluare | Cod sursa (job #1411468) | Cod sursa (job #2019656) | Monitorul de evaluare | Cod sursa (job #961930)
Cod sursa(job #961930)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("dezastru.in");
ofstream out("dezastru.out");
int const N=26;
int n,k,total,c[2][N];
float suma,a[N][N],v[N];
bool marcat[N];
void combinari()
{
//for(int i=0;i<=n;i++)
//c[i][0]=1;
c[0][0]=c[1][0]=1;
for(int i=0;i<=n;i++)
for(int j=0;j<n;j++)
c[(i+1)%2][j+1]=c[i%2][j]+c[i%2][j+1];
}
int main()
{
in>>n>>k;
for(int i=1;i<=n;i++)
in>>v[i];
for(int i=0;i<=n;i++)
a[i][0]=1;
a[1][1]=v[1];
for(int i=2;i<=n;i++)
for(int j=1;j<=i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1]*v[i];
combinari();
out<<a[n][k]/c[n%2][k]<<"\n";
return 0;
}