Nu aveti permisiuni pentru a descarca fisierul grader_test12.in
Cod sursa(job #2003340)
Utilizator | Data | 22 iulie 2017 18:17:36 | |
---|---|---|---|
Problema | Dezastru | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <iomanip>
#include <fstream>
using namespace std;
double sol = 0;
double v[30];
int n, m;
int st[30];
int nFact = 0;
void Read()
{
ifstream f("dezastru.in");
f >> n >> m;
for (int i = 1;i <= n;i++)
f >> v[i];
f.close();
}
inline void Back(int k, int s, double sum)
{
if (k > m)
{
sol += sum;
nFact++;
return;
}
for (register int i = s + 1;i <= n - m + k; ++i)
{
Back(k + 1, i, sum*v[i]);
}
}
void Write()
{
ofstream g("dezastru.out");
g << setprecision(6) << sol / nFact << "\n";
g.close();
}
int main()
{
Read();
Back(1, 0, 1);
Write();
return 0;
}