Pagini recente » Cod sursa (job #2563037) | Cod sursa (job #2959468) | Cod sursa (job #1933455) | Cod sursa (job #1677539) | Cod sursa (job #79220)
Cod sursa(job #79220)
# include <stdio.h>
const long int NRB=25;
const long int MAXN=(long int)1<<NRB;
long int n,k;
float s,v[NRB+1],p[NRB+1][NRB+1];
void citire()
{
FILE *f=fopen("dezastru.in","r");
fscanf(f,"%ld%ld",&n,&k);
long int i;
for (i=1;i<=n;i++) fscanf(f,"%f",&v[i]);
fclose(f);
}
void scrie(float sol)
{
FILE *g=fopen("dezastru.out","w");
fprintf(g,"%-.6f\n",sol);
fcloseall();
}
int main()
{
citire();
long int i,j;
for (i=1;i<=n;i++) p[1][i]=v[i]+p[1][i-1];
for (i=2;i<=k;i++)
for (j=1;j<=n;j++) p[i][j]=p[i][j-1]+p[i-1][j-1]*v[j];
long long int c[30][30]={0};
c[0][0]=1;
for (i=1;i<=n;i++)
{
c[i][0]=1;
for (j=1;j<=k;j++)
c[i][j]=c[i-1][j]+c[i-1][j-1];
}
scrie(p[k][n]/c[n][k]);
return 0;
}