题目描述:

通过悬崖的yifenfei,又面临着幽谷的考验——
幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅。由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而死。
幸好yifenfei早有防备,提前备好了解药材料(各种浓度的万能药水)。现在只需按照配置成不同比例的浓度。
现已知yifenfei随身携带有n种浓度的万能药水,体积V都相同,浓度则分别为Pi%。并且知道,针对当时幽谷的瘴气情况,只需选择部分或者全部的万能药水,然后配置出浓度不大于 W%的药水即可解毒。
现在的问题是:如何配置此药,能得到最大体积的当前可用的解药呢?
特别说明:由于幽谷内设备的限制,只允许把一种已有的药全部混入另一种之中(即:不能出现对一种药只取它的一部分这样的操作)。

输入:

输入数据的第一行是一个整数C,表示测试数据的组数;
每组测试数据包含2行,首先一行给出三个正整数n,V,W(1<=n,V,W<=100);
接着一行是n个整数,表示n种药水的浓度Pi%(1<=Pi<=100)。

输出:

对于每组测试数据,请输出一个整数和一个浮点数;
其中整数表示解药的最大体积,浮点数表示解药的浓度(四舍五入保留2位小数);
如果不能配出满足要求的的解药,则请输出0 0.00。

样例输入:
3
1 100 10
100
2 100 24
20 30
3 100 24
20 20 30
样例输出:
0 0.00
100 0.20
300 0.23

1.贪心算法,将溶液浓度进行升序排序,从当前浓度最小的溶液加入当前已有溶液中,若加入后浓度超过W%,便结束。

2.只用溶质进行比较,将所有溶液的体积视为100,因为所有溶液体积一定,在计算时取为1。但在最后算溶液浓度时需除去100。

该过程缩减了乘除运算。

#include <cstdio>
#include <algorithm>
using namespace std;int med[128];
int n,v,w;
bool cmp(const int a,const int b){return a<b;
}int main(){//freopen("input.txt","r",stdin);int c;  scanf("%d",&c);while(c--){scanf("%d%d%d",&n,&v,&w);for(int i =0;i<n;i++){scanf("%d",&med[i]);}sort(med,med+n);int vl =0;int ml=0;for(int i=0;i<n;i++){if((ml+med[i])<=((vl+1)*w)){vl = vl+1;ml = ml+med[i];}else{break;}}if(vl==0){printf("0 0.00\n");}else{printf("%d %.2f\n",vl*v,ml*1.0/(vl*100));}}
}
/**************************************************************Problem: 1435User: hankcheungLanguage: C++Result: AcceptedTime:0 msMemory:1020 kb
****************************************************************/

九度oj 题目1435:迷瘴相关推荐

  1. 【WA】九度OJ题目1435:迷瘴

    题目描述: 通过悬崖的yifenfei,又面临着幽谷的考验-- 幽谷周围瘴气弥漫,静的可怕,隐约可见地上堆满了骷髅.由于此处长年不见天日,导致空气中布满了毒素,一旦吸入体内,便会全身溃烂而死. 幸好y ...

  2. 九度OJ 题目1179:阶乘

    /********************************* * 日期:2013-2-8 * 作者:SJF0115 * 题号: 九度OJ 题目1179:阶乘 * 来源:http://ac.jo ...

  3. 九度OJ 题目1069:查找学生信息 随笔

    ** 九度OJ 题目1069:查找学生信息 ** 题目描述如下: 输入N个学生的信息,然后进行查询. 输入 输入的第一行为N,即学生的个数(N<=1000) 接下来的N行包括N个学生的信息,信息 ...

  4. 九度OJ 题目1203:IP地址

    /********************************* * 日期:2013-2-8 * 作者:SJF0115 * 题号: 九度OJ 题目1203:IP地址 * 来源:http://ac. ...

  5. 九度OJ—题目1032:ZOJ

    题目描写叙述: 读入一个字符串.字符串中包括ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出.当某个字符用完时,剩下的仍然依照ZOJ的顺序输出. 输入: 题目包括多组用例,每组用例占一行,包括ZOJ ...

  6. 九度oj 题目1411:转圈

    题目描述: 在一个有向图有n个顶点(编号从1到n),给一个起点s,问从起点出发,至少经过一条边,回到起点的最短距离. 输入: 输入包括多组,每组输入第一行包括三个整数n,m,s(1<=n< ...

  7. 九度oj 题目1354:和为S的连续正数序列

    题目描述: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久, ...

  8. 九度oj 题目1376:最近零子序列

    题目描述: 给定一个整数序列,你会求最大子串和吗?几乎所有的数据结构与算法都会描述求最大子串和的算法.今天让大家来算算最近0子串和,即整数序列中最接近0的连续子串和.例如,整数序列6, -4, 5, ...

  9. 九度oj 题目1078:二叉树遍历

    题目1078:二叉树遍历 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5326 解决:3174 题目描述: 二叉树的前序.中序.后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历 ...

最新文章

  1. 在symfony2项目中100%提升doctrine的性能
  2. java doc 编写
  3. 科技感的动态设计方法-1
  4. 第一百三十期:14种常见编程语言的优缺点及应用范围
  5. python plt.show_如何使用Python最大化plt.show()窗口
  6. 小甲鱼Python笔记(下)
  7. Node.js 应用故障排查手册 —— 类死循环导致进程阻塞
  8. 小白设计模式:桥接模式
  9. Firefox下Add-ons推荐
  10. 大数据分析平台有哪些主要功能
  11. 数据结构算法题整理3
  12. android API Guides学习--Introduction(1)
  13. 基于python+django框架+Mysql数据库的新闻信息管理系统设计与实现
  14. 人工智能简史�_人工智能简史
  15. 哔哩下载姬(B站下载工具)
  16. 超强文本编辑器SciTE配置方法详细实例
  17. 推荐系统中的图形注意协同相似度嵌入
  18. m4a怎么转换mp3格式?
  19. Android 9 隐藏下拉状态栏中的快捷开关
  20. 基于MODBUS通讯协议的酒厂温湿度、光照度数据采集系统的设计与实现

热门文章

  1. Linux趣味小游戏,哞哞哞,你好,我是小牛
  2. 选择游戏开发工具的原则
  3. 使用SSD训练自己的模型(从图片标注开始)
  4. python能画k线图吗_k线图怎么画?_Python绘制K线图
  5. 2021京东Java面试真题:javadouble四舍五入取整
  6. 京东618刘强东狂赚1199亿元 刘强东晒京东加班餐
  7. html js 动画效果,原生js html5 canvas 3D云动画效果
  8. python梦幻西游4小人_梦幻西游:五开简单组合,1无底洞4溅射大唐优势明显,全程挂自动...
  9. 笔记本发烫、风扇太响的一个原因
  10. 微软Bing GPT支持AI绘画了,输入文字就能出图