迷障(杭电2570)

/*迷瘴

通过悬崖的yifenfei,又面临着幽谷的考验——

幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅。由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而死。

幸好yifenfei早有防备,提前备好了解药材料(各种浓度的万能药水)。现在只需按照配置成不同比例的浓度。

现已知yifenfei随身携带有n种浓度的万能药水,体积V都相同,浓度则分别为Pi%。并且知道,针对当时幽谷的瘴气情况,只需选择部分或者全部的万能药水,然后配置出浓度不大于 W%的药水即可解毒。

现在的问题是:如何配置此药,能得到最大体积的当前可用的解药呢?

特别说明:由于幽谷内设备的限制,只允许把一种已有的药全部混入另一种之中(即:不能出现对一种药只取它的一部分这样的操作)。

Input

输入数据的第一行是一个整数C,表示测试数据的组数;

每组测试数据包含2行,首先一行给出三个正整数n,V,W(1<=n,V,W<=100);

接着一行是n个整数,表示n种药水的浓度Pi%(1<=Pi<=100)。

Output

对于每组测试数据,请输出一个整数和一个浮点数;

其中整数表示解药的最大体积,浮点数表示解药的浓度(四舍五入保留2位小数);

如果不能配出满足要求的的解药,则请输出0 0.00。

Sample Input

3

1 100 10

100

2 100 24

20 30

3 100 24

20 20 30

Sample Output

0 0.00

100 0.20

300 0.23

*/

#include<stdio.h>

#include<algorithm>

using namespace std;

int main()

{

int test,n,v,t,a[1000];

double r;

scanf("%d",&test);

while(test--)

{

int i,V=0,l=0;

double k=0.0,q,w;

scanf("%d%d%d",&n,&v,&t);

for(i=0;i<n;i++)

{

scanf("%d",&a[i]);

}

sort(a,a+n);

for(i=0;i<n;i++)

{

k=k+a[i];

if(k<=t*(i+1))

{

V+=v;

q=k/(i+1);

l=1;

}

}

q=int((q*100+0.5));//这步是控制保留小数点后两位小数并且四舍五入

q/=100;            //

if(l==1)

printf("%d %.2lf\n",V,q/100);

if(l==0)

printf("0 0.00\n");

}

// while(1);

return 0;

}

迷障(杭电2570)

时间: 2024-10-23 19:57:08

迷障(杭电2570)的相关文章

hud 2570 迷障(水 贪心)

对给的药水浓度进行排序,对于小于解毒药水浓度的可以直接加上它的体积,对每次混合后的药水浓度进行记录, 大于解毒药水浓度就输出,注意你求得是百分比还是百分数... #include<stdio.h> #include<algorithm> #include<iostream> #include<string.h> using namespace std; int s[10005]; int main() { int a,i,n,m,k; scanf("

杭电ACM题目分类

杭电ACM题目分类 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028. 1029.1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092. 1093.1094.1095.1096.1097.1098.1106.1108.1157.1163.1164.1170.1194.1196. 1197.1201.1202.1205.1219.1234.123

杭电oj 1069 Monkey and Banana

Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6866 Accepted Submission(s): 3516 Problem Description A group of researchers are designing an experiment to test the IQ of a monkey

杭电 1008 Elevator

杭电ACM 2014暑期集训队--选拔安排~ Elevator Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 40905    Accepted Submission(s): 22387 Problem Description The highest building in our city has only one elevator

杭电2018多校第一场(2018 Multi-University Training Contest 1) 1001.Maximum Multiple (HDU6298)-数学思维题(脑子是个好东西,可惜我没有)

暑假杭电多校第一场,这一场是贪心场,很多贪心的题目,但是自己太菜,姿势挫死了,把自己都写吐了... 2018 Multi-University Training Contest 1 HDU6298.Maximum Multiple 题目意思就是给你一个n,找出来三个数x,y,z, 使得n=x+y+z,而且x,y,z都是n的因数,并且x*y*z为最大值,让你输出来x*y*z的最大值.如果没有满足条件的情况就输出-1. 由1=1/2+1/3+1/6=1/3+1/3+1/3=1/2+1/4+1/4,所

杭电 HDU 1164 Eddy&#39;s research I

Eddy's research I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7117    Accepted Submission(s): 4268 Problem Description Eddy's interest is very extensive, recently  he is interested in prime

hdu 1016 Prime Ring Problem DFS解法 纪念我在杭电的第一百题

Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 29577    Accepted Submission(s): 13188 Problem Description A ring is compose of n circles as shown in diagram. Put natural num

杭电ACM分类

杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY

一个人的旅行 HDU杭电2066【dijkstra算法】

http://acm.hdu.edu.cn/showproblem.php?pid=2066 Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景--草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女--眼看寒假就快到了,这么一大段时间,可不