제출 #15526

#제출 시각아이디문제언어결과실행 시간메모리
15526ggoh최적의 능력 구성 (kriii3_C)C++98
25 / 62
1000 ms1084 KiB
#include<cstdio>
#include<algorithm>
#include<vector>
#include<cmath>
int a,i,p[22],d[22],l,x[22];
double P[22],D[22];
double m,s;
double max(double XX,double YY){return XX>YY?XX:YY;}
void uu(int K,double S)
{
	if(K==0)
	{
		s+=S;
	}
	else
	{
		for(int U=0;U<l;U++)
		{
			if(x[U]==0)
			{
				x[U]=1;
				uu(K-1,S*(double)((double)1-P[U]/(double)100));
				x[U]=0;
			}
		}
	}
}
void f(int xx)
{
	if(xx==a)
	{
		double per=0,sum=0;
		for(int j=0;j<l;j++)
		{
			sum=0;
			x[j]=1;
			for(int k=0;k<l;k++)
			{
				s=0;
				uu(k,(double)1);
				for(int L=0;L<=k;L++)
				{
					s/=(double)(l-L);
				}
				sum+=s;
			}
			x[j]=0;
			per+=sum*(P[j]/100)*D[j];
		}
		
		
		m=max(m,per);
	}
	else
	{
		f(xx+1);
		P[l]=(double)p[xx];
		D[l]=(double)d[xx];
		l++;
		f(xx+1);
		l--;
		P[l]=0;
		D[l]=0;
	}
}
main()
{
	scanf("%d",&a);
	for(i=0;i<a;i++)
	{
		scanf("%d%d",&p[i],&d[i]);
	}
	f(0);
	printf("%.10lf",m);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...