原题链接:Problem - E - Codeforces

题意: 

有 n 个宇航员在某个空间站工作。 编号为 i(1≤i≤n)的宇航员具有功率 ai。

一个邪恶的人形生物已经来到这个空间站。 这个人形的力量等于h。 此外,人形生物还随身携带了两种绿色血清和一种蓝色血清。

在一秒钟内,类人生物可以执行以下三个动作中的任何一个:

以严格低于人形力量的力量吸收宇航员;
使用绿色血清,如果还有剩余的话;
使用蓝色血清,如果还有剩余的话。
当一个能量为ai的宇航员被吸收时,这个宇航员消失,人形的能量增加⌊ai/2⌋,即ai/2的整数部分。 例如,如果类人生物吸收力量为 4 的宇航员,则其力量增加 2,如果类人生物吸收力量为 7 的宇航员,则其力量增加 3。

使用绿色血清后,这种血清消失,人形的力量翻倍,所以增加了2倍。

使用蓝色血清后,这种血清消失,人形的力量增加三倍,所以增加了3倍。

人形机器人想知道如果他采取最佳行动,他最多能够吸收多少宇航员。

思路: 看到这道题的第一个想法就是先将a数组排序,然后让这个人形生物能吸收能量就吸收,如果吸收不了就打药,但是打药的顺序却不能确定,该怎么办呢?很简单,我们发现打药的顺序只有三种:{2,2,3},{2,3,2},{3,2,2}。所以我们依次枚举打药顺序的三个方案即可。

int k[3][3] = {{2, 2, 3}, {2, 3, 2}, {3, 2, 2}};
void solve() {mem(ans, 0);int n, h, x;cin >> n >> h;x = h;FOR(1, n) cin >> a[i];sort(a + 1, a + n + 1);FOR(0, 2) {int p = 0;h = x;FORj(1, n) {if (h > a[j])h += a[j] / 2;else {while (p <= 2 && h <= a[j]) h *= k[i][p], p++;if (h > a[j]) h += a[j] / 2;}if (h <= a[j]) break;ans[i] = j;}}sort(ans, ans + 3);cout << ans[2] << endl;
}

【每日一题】打卡 58相关推荐

  1. 2022-04-14每日刷题打卡

    2022-04-14每日刷题打卡 代码源--每日一题 上帝的集合 - 题目 - Daimayuan Online Judge 题目描述 现在上帝有一个空集合,现在他命令你为他执行下列三种操作 n 次, ...

  2. 2022-04-01每日刷题打卡

    2022-04-01每日刷题打卡 代码源--每日一题 Lusir的游戏 - 题目 - Daimayuan Online Judge Lusir 正在玩一个古老的基于 DOS 的游戏. 游戏中有 N+1 ...

  3. 2021-12-11每日刷题打卡

    2021-12-11每日刷题打卡 力扣--剑指offer 剑指 Offer 40. 最小的k个数 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字, ...

  4. 2022-03-10每日刷题打卡

    2022-03-10每日刷题打卡 力扣--每日一题 589. N 叉树的前序遍历 给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 . n 叉树 在输入中按层序遍历进行序列化表示,每 ...

  5. 2022-03-02每日刷题打卡

    2022-03-02每日刷题打卡 代码源--div2每日一题 Alice的德州扑克 - 题目 - Daimayuan Online Judge 德州扑克是目前世界上最流行的扑克游戏,全世界有众多相关的 ...

  6. 2022-03-03每日刷题打卡

    2022-03-03每日刷题打卡 力扣--每日一题 258. 各位相加 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数.返回这个结果. 示例 1: 输入: num = 38 输出 ...

  7. 关于LeetCode每日一题打卡失败的感悟

    背景 今年5月,报名参加了三叶姐的"五月打卡活动",押金29.9元,要求每天在力扣上每日一题打卡,完成则押金全退,完不成则押金不退. 事件 2022.5.10,LeetCode上的 ...

  8. 2022-03-31每日刷题打卡

    2022-03-31每日刷题打卡 代码源--每日一题 完美数 - 题目 - Daimayuan Online Judge 对于给定的数字 a , b ,当整数 n 在十进制下的所有数位都为 a 或 b ...

  9. 2022-02-15每日刷题打卡

    2022-02-15每日刷题打卡 AcWing--算法基础 900. 整数划分 - AcWing题库 一个正整数 n 可以表示成若干个正整数之和,形如:n=n1+n2+-+nk,其中 n1≥n2≥-≥ ...

  10. 2021-11-15每日刷题打卡

    2021-11-15每日刷题打卡 AcWing--算法基础 AcWing 794. 高精度除法 - AcWing 给定两个非负整数(不含前导 00) A,B,请你计算 A/B 的商和余数. 输入格式 ...

最新文章

  1. 联手小米,雀巢中国推出健康管家Nesfinity,满足个性化生活需求管理
  2. Linux环境下使用Mysql连接外部机器
  3. 5G NGC — 关键技术 — 计算与存储分离
  4. python中的模块和包
  5. RobotFramework读取mysql和oracle数据库
  6. ZigBee与智慧家居-ZigBee方案
  7. 动态新增表字段_制作动态的数据透视表(一):定义名称法创建数据透视表
  8. 了解和使用DotNetCore和Blazor中的异步编程
  9. SAP License:全球十大主流ERP厂商,看看你是不是在用
  10. 软件可靠性的一些关注点
  11. wpf-AvalonDock基础-安装和更换主题
  12. 计算机网络实验三思考题,计算机网络实验思考题答案
  13. 弘辽科技:DSR的含义是?怎么提升DSR评分?
  14. 【预测模型】基于天牛须算法BAS优化BP神经网络实现数据预测matlab源码
  15. 第二课《shell 编程基础》
  16. ARM和Intel处理器区别简介
  17. 50例大数据术语英文翻译及详解
  18. python计算十年平均录取率_如何在Python中使用Pandas计算多年平均值
  19. php 股票数据 sina,腾讯股票接口、和讯网股票接口、新浪股票接口、雪球股票数据、网易股票数据...
  20. 第九回(一):任侠厨子轻解厄围 夜半蹴鞠为泄忿闷

热门文章

  1. Apache Echarts常用图表之折线图
  2. Verilog学习:常用模块——分频器的使用
  3. JSP群众信访管理系统java毕业设计
  4. Echarts Y轴单位自动转换
  5. 泰山OFFICE技术讲座:页面空白(页边距)是怎么算的
  6. Linux解决Ubuntu中vi编辑方向键不能移动光标的问题
  7. Cuda编程加速图像预处理
  8. WIN10 开机自动启动文件夹路径
  9. ios 裁剪圆形头像_iOS 裁剪圆形图像并显示(类似于微信头像)
  10. [附源码]Node.js计算机毕业设计成都美食交流平台Express