Pagini recente » Cod sursa (job #1566706) | Cod sursa (job #2086352) | Cod sursa (job #1692720) | Cod sursa (job #2068272) | Cod sursa (job #1325970)
#include <fstream>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
long nr=1;
int N, K;
double rez, p, v[26], st[26], r[26];
int valid(int k)
{
for(int i=1;i<k;i++)
if(st[i]>=st[k]) return 0;
return 1;
}
void solve(int k)
{
for(int i=1;i<=N;i++)
{
st[k]=v[i];
if(valid(k))
{
if(k==K)
{
p=1;
for(int i=1;i<=k;i++) p*=st[i];
rez+=p/nr;
}
else solve(k+1);
}
}
}
int main()
{
f>>N>>K;
for(int i=1;i<=N;i++) f>>v[i];
for(int i=N-K;i<=N;i++) nr*=i;
nr/=2;
solve(1);
rez*=1000000;
rez=(int)rez;
rez/=1000000;
g<<rez;
}