Pagini recente » Cod sursa (job #566544) | Cod sursa (job #2085508) | Cod sursa (job #1562679) | Cod sursa (job #1497165) | Cod sursa (job #195416)
Cod sursa(job #195416)
#include<fstream.h>
//using namespace std;
int N, K, x[30];
double p[30];
double Pt;
double c=2;
ofstream g("dezastru.out");
void fact(int n, int k){
long long i;
for(i=n-k+1;i<=n;i++)
c/=i;
}
void calc(){
int i;
double Pc=1;
for(i=1;i<=K;i++)
Pc*=p[x[i]];
Pt+=(Pc*c);
}
//void afis(){
//int
//}
void back(int i){
int j;
int L=N-K+i;
for(j=x[i-1]+1;j<=L+1;j++){
x[i]=j;
if(i==K)
calc();
else back(i+1);
}
}
int main(){
int i;
ifstream f("dezastru.in");
f>>N>>K;
for(i=1;i<=N;i++)
f>>p[i];
f.close();
fact(N,K);
back(1);
g<<Pt<<'\n';
g.close();
return 0;
}