#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int cmp(const void * a,const void *b)
{
return *(int *)a-*(int *)b;
}
void main()
{
int c;
while(scanf("%d",&c)!=EOF)
{
while(c--!=0)
{
int n,v,w;
int i=0;
int p[100];
int currW=0;
int currV=0;
scanf("%d%d%d",&n,&v,&w);
for(i=0;i<n;i++)
{
scanf("%d",&p[i]);
}//精度问题用整数做,少用除法,把除法变成乘法
qsort(p,n,sizeof(int),cmp);
for(i=0;i<n;i++)
{
if(p[i]<=w)
{
currW = (p[i]*v + currW);
currV += v;
}
else
if((p[i]*v + currW) <= w*(currV+v))
{
currW = currW + p[i]*v;
currV += v;
}
else
break;
}
currW =(int )floor((double)currW/currV + 0.5);
if(currV == 0)currW = 0;
printf("%d 0.%02d\n",currV,currW);
}
}
}
题目23:迷瘴
最新推荐文章于 2020-10-03 10:53:59 发布