Pagini recente » Cod sursa (job #811925) | Cod sursa (job #1889845) | Cod sursa (job #1962476) | Cod sursa (job #2059929) | Cod sursa (job #353142)
Cod sursa(job #353142)
#include<fstream.h>
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int st[30],m,n,c;
double v[30],p;
void calcule()
{double pl=1;
int i;
for(i=1;i<=m;i++) pl=pl*v[st[i]];
p=p+pl/c;
}
void bkt(){
int up,k;
k=1;
st[k]=0;
while(k){up=0;
while(!up&&st[k]<n-m+k){st[k]++;
up=1;
}
if(up) if(k==m) calcule();
else {k++;
st[k]=st[k-1];
}
else k--;
}
}
int main()
{int i;
fin>>n>>m;
for(i=1;i<=n;i++) fin>>v[i];
c=1;
for(i=1;i<=m;i++) c=c*(n-i+1)/i;
bkt();
fout<<p;
return 0;
}