Pagini recente » Cod sursa (job #1446746) | Autentificare | Cod sursa (job #2044179) | Cod sursa (job #2916854) | Cod sursa (job #2015828)
#include <cstdio>
using namespace std;
int n,p,s[25],facto;
double a[25],sumTo=0;
void Calcul()
{
float sumLo = 1;
for(int i=1;i<=p;i++)
{
sumLo = a[s[i]] * sumLo;
}
sumTo += sumLo/6;
}
bool Valid(int k)
{
for(int i=1;i<=k-1;i++)
{
if(s[k] == s[i])
return false;
}
return true;
}
void Back(int k)
{
for(int i=1;i<=n;i++)
{
s[k] = i;
if(Valid(k))
{
if(k == n)
{
Calcul();
}
else
Back(k+1);
}
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%i %i",&n,&p);
for(int i=1;i<=n;i++)
{
scanf("%lf",&a[i]);
facto *= i;
}
Back(1);
printf("%lf",sumTo);
return 0;
}