贪心基础题。
每种药水的体积是相同的,那么影响浓度的只能是每种药水的浓度,属于集装箱问题。
将药水浓度从小到大排列,然后依次相加求平均值,直到平均值大于所给浓度限制。
const int N=110;
int a[N];
int n,v,w;
int main()
{
int T;
cin>>T;
while(T--)
{
cin>>n>>v>>w;
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
int sum=0,cnt=0;
double res=0;
for(int i=0;i<n;i++)
{
if((res*i+a[i])/(i+1) > w)
break;
else
{
res=(res*i+a[i])/(i+1);
sum+=v;
}
}
printf("%d %.2f
",sum,res/100);
}
//system("pause");
return 0;
}