Cod sursa(job #254119)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 6 februarie 2009 20:10:21
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>
long n,k,i,c[100],ok,j,nr;
float a[100],p,s;
int main()
{
 freopen("dezastru.in","r",stdin);
 freopen("dezastru.out","w",stdout);
 scanf("%ld%ld",&n,&k);
 for(i=1;i<=n;++i)
    scanf("%f",&a[i]);
 for(i=1;i<=k;++i)c[i]=i;
 --c[k];
 ok=0;
 while(!ok)
 {for(i=k;i>0&&c[i]==n-(k-i);--i);
 if(i==0)ok=1;
     else
     {++c[i];
      for(j=i+1;j<=k;++j)c[j]=c[j-1]+1;
      p=1;
      for(j=1;j<=k;++j)p*=a[c[j]];
      s+=p;
      ++nr;}
 }
 printf("%.6f",s/nr);
 return 0;
}