Cod sursa(job #37756)

Utilizator DranaXumAlexandru Dumitru Paunoiu DranaXum Data 25 martie 2007 12:24:10
Problema Shop Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 4, Clasa a 9-a si gimnaziu Marime 0.63 kb
#include<stdio.h>

int c[26];

int main()
{
   float m=0.0,p,a[26];
   int i,n,k,x,ok=1,f=0,t;
   FILE *fin,*fout;
   fin=fopen("dezastru.in","r");
   fout=fopen("dezastru.out","w");
   fscanf(fin,"%d%d",&n,&k);
   for(i=1;i<=n;i++)
      {fscanf(fin,"%f",&a[i]);}
   while(ok)
   {
      t=1;
      p=1.0;
      x=ok=0;
      for(i=n;i>=1;i--)
      {
         t+=c[i];
         c[i]=t%2;
         t/=2;
         if(!c[i]) ok=1;
         if(c[i]) {x++; p=p*a[i]; if(x>k && !t) break;}
      }
      if(x==k) {m+=p; f++;}
   }
   fprintf(fout,"%0.6f",(float)m/f);
   fclose(fin);
   fclose(fout);
   return 0;
}