Cod sursa(job #184639)

Utilizator firewizardLucian Dobre firewizard Data 23 aprilie 2008 23:42:53
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>
int n,i,k,sol[26];
float a[26],sf,s,c,p=1;
int back(long l)
{long i;
    
    if (l==k){
              /*for(i=1;i<k+1;++i)
              printf("%ld ",sol[i]);
              printf("\n");*/
              for(i=1;i<k+1;++i)
              p*=a[sol[i]];
              s+=2*p;c+=2;
              p=1;
              }
    else{
         for (i=sol[l]+1;i<n+1;++i){
             sol[l+1]=i;
             back(l+1);
             }
         }
         
}
int main()
{
    freopen ("dezastru.in","r",stdin);
    freopen ("dezastru.out","w",stdout);
    scanf("%d %d",&n,&k);
    for(i=1;i<=n;i++)
    scanf("%f",&a[i]);
    back(0);
    sf=s/c;
    printf("%0.6f",sf);
    return 0;
}