Pagini recente » Cod sursa (job #2453382) | Cod sursa (job #2981281) | Cod sursa (job #2660676) | Cod sursa (job #1950358) | Cod sursa (job #1088800)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
#define NMAX 30
int N,K,x[NMAX];
double cost[NMAX],CostSum,Prod = 1.0,Nr;
bool solutie ( int k ){
return ( k == K+1 );
}
void back(int k){
int i;
if(solutie(k))
{
CostSum += Prod;
++Nr;
}
for(i = x[k-1]+1; i<=N; i++){
x[k]=i;
Prod *= cost[i];
back(k+1);
Prod /= cost[i];
}
}
int main(int argc, const char * argv[])
{
f>>N>>K;
for (int i = 1; i <= N; ++i) {
f>>cost[i];
}
back(1);
g<<setprecision(6)<<CostSum/Nr;
return 0;
}