HDU2057——1001 迷瘴

额……貌似是贪心啊……

View Code
#include <stdio.h>
#include <stdlib.h>

int cmp(const void *a,const void *b)
{
return *(int *)a - *(int *)b;
}

int main()
{
int c, n, v, w;
int i, j, sum, p[110];
double tmp, PP;
scanf("%d", &c);
for(i=0;i<c;i++)
{
scanf("%d%d%d", &n, &v, &w);
for(j=0;j<n;j++)
{
scanf("%d", p+j);
}
qsort(p, n, sizeof(p[0]), cmp);
sum = 0;
PP = 0;
for(j=0;j<n;j++)
{
tmp = (PP*sum + p[j]*v) / (sum+v);
if( tmp <= w)
{
PP = tmp;
sum += v;
}
}
printf("%d %.2lf\n", sum, PP/100);
}
return 0;
}

 

posted @ 2011-11-22 21:54  1050768624  阅读(169)  评论(0编辑  收藏  举报