Cod sursa(job #899334)
| Utilizator | Data | 28 februarie 2013 14:00:12 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,k,m,i,x=1,sol[30];
double a[26],s,pr=1;
void actual()
{s+=pr;
}
void bkt()
{int j;
for(j=sol[x-1]+1;j<=n-k+x;j++)
{sol[x]=j;
pr*=a[sol[x]];
if(x==k)
{m++;
actual();}
else {x=x+1; bkt();}
pr/=a[sol[x]];
}
}
int main()
{f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
bkt();
g.precision(6);
g<<s/m;
f.close();
g.close();
}
