华为OD机试 -核酸总最快检测效率(C++ Java JavaScript Python)

该博客主要讨论了华为OD机考中关于核酸筛查效率优化的问题。在给定采样员和志愿者人数及效率基础上,通过分析不同情况下的效率提升策略,确定如何分配志愿者以达到最高检测效率。文章提供了C++、JavaScript、Java和Python的解题思路和代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

在系统、网络均正常的情况下组织核酸采样员和志愿者对人群进行[核酸检测]筛查。

每名采样员的效率不同,采样效率为N人/小时。

由于外界变化,采样员的效率会以M人/小时为粒度发生变化,M为采样效率浮动粒度,M=N*10%,输入保证N*10%的结果为整数。

采样员效率浮动规则:采样员需要一名志愿者协助组织才能发挥正常效率,在此基础上,每增加一名志愿者,效率提升1M,最多提升3M;如果没有志愿者协助组织,效率下降2M。

怎么安排速度最快?求总最快检测效率(总检查效率为各采样人员效率值相加)。

输入描述

第一行:第一个值,采样员人数,取值范围[1, 100];第二个值,志愿者人数,取值范围[1, 500];
第二行:各采样员基准效率值(单位人/小时),取值范围[60, 600],保证序列中每项值计算10%为整数。

输出描述

第一行:总最快检测效率(单位人/小时)

用例

输入 2 2
200 200
输出 400
说明 输入需要保证采样员基准效率值序列的每个值*10%为整数。

题目解析

用例解析:

  1. 有两个采样员和两个志愿者;

  2. 每个采样员需要配合一个志愿者才能发挥正常效率,即200;

  3. 当采样员和志愿者数量相等时,可以发挥最大效率,为400;

  4. 如果一个采样员配合两个志愿者,其效率提高为220,但另一个采样员将没有志愿者,效率降为160,此时总效率为380;

    由此可以得出,最大效率为400

解题:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值