奶牛晒衣服
时间:2019-10-15
本文章向大家介绍奶牛晒衣服,主要包括奶牛晒衣服使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在熊大妈英明的带领下,时针和他的同伴生下了许多牛宝宝。熊大妈决定给每个宝宝都穿上可爱的婴儿装。于是,为牛宝宝洗晒衣服就成了很不爽的事情。
圣人王担负起了这个重任。洗完衣服后,你就要弄干衣服。衣服在自然条件下用1的时间可以晒干A点湿度。抠门的熊大妈买了1台烘衣机。使用烘衣机可以让你用1的时间使1件衣服除开自然晒干的A点湿度外,还可烘干B点湿度,但在1的时间内只能对1件衣服使用。
N件的衣服因为种种原因而不一样湿,现在告诉你每件衣服的湿度,要你求出弄干所有衣服的最少时间(湿度为0为干)。
Input
第一行N,A,B,接下来N行,每行一个数,表示衣服的湿度(1<=湿度,A,B<=500000,1<=N<=500000)。
Output
一行,最少时间。
Sample Input
3 2 1
1 2 3
Sample Output
1
第1个时间内,用机器处理第3件衣服,此外,所有衣服自然晒干2。花费1时间全部弄干。
Sol:
用小脑想一下就知道,应该优先用洗衣机去晒干湿度大的衣服。于是每次选择出湿度最大的衣服,建立一个大根堆,然后模拟题意就好了。一个小技巧就是发现每分钟都要将所有衣服的湿度值减去一个数字,这个操作太麻烦了,于是设置一个变量sum代表每件衣服要减去的湿度值(这个方法跟上一个Poker的题是一样的)。每次拿出大根堆的堆顶值,如果发现其小于sum说明所有衣服都干了。
#include<iostream> #include<queue> using namespace std; int N,A,B,a,ans=0,sum=0; priority_queue<int> q; int main() { scanf("%d%d%d",&N,&A,&B); for(int i=1;i<=N;i++) scanf("%d",&a),q.push(a); while(q.top()-sum>0) //如果湿度最大的衣服都小于sum,则说明所有衣服都干了。 a=q.top(),q.pop(),a-=B,q.push(a),sum+=A,ans++; printf("%d",ans); return 0; }
原文地址:https://www.cnblogs.com/cutemush/p/11678946.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 0803-什么是Apache Ranger - 5 - Hive Plugin
- 2017年的golang、python、php、c++、c、java、Nodejs性能对比[续]
- go语言学习(四):数组和切片
- 初识ABP vNext(4):vue用户登录&菜单权限
- 2017 从上到下打印树新解法
- 基于Go的websocket消息服务
- go语言学习(三):源码文件
- 一个比ack速度快n倍的代码搜索工具: ag
- 版本命名标准:语义化 2.0.0
- Git请求合并说明
- guava学习(一):观察者模式
- 「Workshop」第十三期:统计检验与多重矫正
- Linux内核参数调优
- 扒掉“缓冲区溢出”的底裤
- MySQL not exists 真的不走索引么?