Cod sursa(job #1815420)

Utilizator PopoviciRobertPopovici Robert PopoviciRobert Data 25 noiembrie 2016 11:01:44
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <cstdio>
#define MAXN 25
double dp[MAXN+1][MAXN+1],v[MAXN+1];
int comb[MAXN+1][MAXN+1];
int main(){
   FILE*fi,*fout;
   int i,n,k,j;
   fi=fopen("dezastru.in" ,"r");
   fout=fopen("dezastru.out" ,"w");
   fscanf(fi,"%d %d " ,&n,&k);
   for(i=1;i<=n;i++)
      fscanf(fi,"%lf " ,&v[i]);
   for(i=0;i<=n;i++)
      dp[i][0]=1;
   for(i=0;i<=n;i++)
      comb[i][0]=1;
   for(i=1;i<=n;i++)
     for(j=1;j<=k;j++){
        dp[i][j]=dp[i-1][j]+v[i]*dp[i-1][j-1];
        comb[i][j]=comb[i-1][j]+comb[i-1][j-1];
      }
   fprintf(fout,"%.6lf" ,dp[n][k]/comb[n][k]);
   fclose(fi);
   fclose(fout);
   return 0;
}