Cod sursa(job #154659)

Utilizator Andrei_ScorpioAndreiana Andrei Daniel Andrei_Scorpio Data 11 martie 2008 12:58:53
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<fstream.h>
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int x[30],k,n,m,vec[31],i;
double S,a[30],nr;
float calculare()
{
float P=1;
for(int j=1;j<=m;j++)
	{
	P*=a[x[j]];
	}
return P;
}
int main()
{
f>>n>>m;
for(i=1;i<=n;i++)
	f>>a[i];
k=1;
x[k]=0;
while(k>0)
	{
	if(x[k]<n)
		{
		x[k]++;
		if(vec[x[k]]==0)
			if(k==m)
				{
				S+=calculare();
				nr++;
				}
			else
				{
				vec[x[k]]=1;
				k++;
				x[k]=x[k-1];
				}
		}
	else
		{
		k--;
		vec[x[k]]=0;
		}
	}
g<<S/nr<<'\n';
g.close();
return 0;
}