hdu 迷瘴(贪心)

其实就是一道简单贪心题,但第一次用分数做WA了,改用整数就对,也许是自己不够细心,呵呵~如果是不够细心的人,建议还是用整数吧~

代码:

 1 #include<stdio.h>
2 #include<iostream>
3 #include<stdlib.h>
4 using namespace std;
5 int cmp(const void *a,const void *b)
6 {
7 return *(int *)a - *(int *)b;
8 }
9 int main()
10 {
11 int t,n,v,w,a[102],i,sum;
12 double s;
13 cin>>t;
14 while(t--)
15 {
16 cin>>n>>v>>w;
17 for(i=0;i<n;i++)
18 cin>>a[i];
19 qsort(a,n,sizeof(a[0]),cmp);
20 s=0.0;sum=0;
21 for(i=0;i<n;i++)
22 {
23 s+=a[i]*v/100.0;
24 sum+=v;
25 if(s>w*sum/100.0)
26 {
27 sum-=v;
28 s-=a[i]*v/100.0;
29 break;
30 }
31 }
32 if(sum==0)
33 printf("0 0.00\n");
34 else
35 printf("%d %.2lf\n",sum,s/(1.0*sum));
36 }
37 return 0;
38 }



原文地址:https://www.cnblogs.com/misty1/p/2264217.html