Cod sursa(job #1612659)
| Utilizator | Data | 24 februarie 2016 23:08:59 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n,k,nr;
float s;
float v[30];
int x[30];
void afis(int kk)
{ float p=1;
for(int i=1;i<=kk;i++)
{
p*=(float)v[x[i]];
}
s+=(float)p;
nr++;
}
void back(int kk)
{
for(int i=x[kk-1]+1;i<=n;i++)
{
x[kk]=i;
if(kk==k) afis(k);
else back(kk+1);
}
}
int main()
{
fin>>n>>k;
for(int i=1;i<=n;i++)
fin>>v[i];
back(1);
fout<<setprecision(6)<<(float)s/nr;
}
