Cod sursa(job #156821)
Utilizator | Data | 12 martie 2008 19:16:24 | |
---|---|---|---|
Problema | Dezastru | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<fstream.h>
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int x[50],n,m,k,i;
float a[50],p,s,nr;
int main()
{
f>>n>>m;
for(i=1;i<=n;i++)
f>>a[i];
k=1;
x[k]=0;
x[0]=1;
p=1;
while(k>0)
{
if(x[k]<n-m+k)
{
x[k]++;
if(k==m)
{
s=s+p*a[x[k]];
nr++;
}
else
{
k++;
p=p*a[x[k-1]];
x[k]=x[k-1];
}
}
else
{
k--;
p=p/a[x[k]];
}
}
g<<s/nr;
f.close();
g.close();
return 0;
}