核酸检测安排

2023-11-12

题目描述

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

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

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

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

如果没有志愿者协助组织,效率下降2M。

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

输入描述

第一行一个值,采样员人数,取值范围[1,100];

第二个值,志愿者人数,取值范围[1,500];

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

输出描述

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

 案列

输入:
2 2
200 300
输出:
500
输入:
2 2
60 600
输出:
708
输入:
2 2
60 100
输出:
160
输入:
3 15
100 200 300
输出:
780
输入:
3 9
100 200 300
输出:
750

代码:

import java.util.Scanner;

public class ceshi2023_3_15 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[] count = new int[n];
        for(int i=0;i<n;i++){
            count[i] = sc.nextInt();
        }
        // dp[i][j][k]表示到第i个采样员,已经分配了j个志愿者,且最后一个采样员分配了
        // k个志愿者,所得到的最快检测效率
        int[][][] dp = new int[n][m+1][5];
        int res = 0;
        for(int i=0;i<n;i++){
            for(int j=0;j<m+1;j++){
                for(int k=0;k<=Math.min(4,j);k++){
                    if(i==0){
                        if(k==0){
                            dp[i][j][k] = (int) (count[i]*0.8);
                        }else{
                            dp[i][j][k] = (int) (count[i]*(1+0.1*(k-1)));
                        }
                    }else{
                        int val = -1;
                        // 取其中的最大值,关于上一个(i-1)采样员使用了多少个志愿者
                        // 对于当前采样员(i)来说,并不关心,他只关心到上一个为止,一共使用了
                        // 多少个志愿者
                        for(int t=0;t<5;t++){
                            val = Math.max(val,dp[i-1][j-k][t]);
                        }
                        if(k==0){
                            dp[i][j][k] = (int) (val + count[i]*0.8);
                        }else{
                            dp[i][j][k] = (int) (val+count[i]*(1+0.1*(k-1)));
                        }
                    }
                    res = Math.max(res,dp[i][j][k]);
                }
            }
        }
        System.out.println(res);
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

核酸检测安排 的相关文章

  • Cisco路由器 VOIP 配置

    Cisco路由器VOIP 配置解析 在企业网络中推广IP语音技术有很多优点 例如可以控制数据流量 保证语音质量 充分利用企业租用的数据线路资源 节省传统的长途话费等等 企业使用IP语音技术 可以将语音 数据和多媒体通信融合在一个集成的网络中
  • 玩转Mixly – 2、Arduino AVR编程 之 输入输出

    以下内容源自Mixly官方技术文档 https mixly readthedocs io zh CN latest Arduino AVR 01Input Output html 输入 输出 输入 输出所包含的指令主要分为四部分 控制管脚的

随机推荐

  • CSS 轻松搞定标签(元素)居中问题

    在CSS里 标签位置居中一直是困扰Web前端的难题 在本文中 我对这类问题进行了探究和给出了几点建议 供读者参考 1 行内标签 1 1 水平居中 在父级标签中使用 text align center 效果 1 2 垂直居中 如果是单行 则为
  • 工业级路由器和家用路由器的区别_5G工业级路由器有哪些优势

    一 5G工业级路由器比4G工业级路由器强在哪 对于消费者而言 5G的价值在于它拥有比4G LTE更快的速度 峰值速率可达几十Gbps 例如你可以在一秒钟内下载一部高清电影 而4G LTE可能要10分钟 5G网关 5G路由 因而 和4G工业级
  • Mysql中行转列和列转行

    一 行转列 即将原本同一列下多行的不同内容作为多个字段 输出对应内容 建表语句 DROP TABLE IF EXISTS tb score CREATE TABLE tb score id INT 11 NOT NULL auto incr
  • C语言的关键字,字符和ASCII码

    关键字的介绍 C语言的关键字有 1 数据类型关键字 2 控制语句关键字 3 存储类型关键字 4 其他关键字 数据类型关键字有12个 char 声明字符型变量或函数 double 声明双精度变量或函数 enum 声明枚举类型 float 声明
  • 10-11

    函数 函数体内部的语句在执行时 一旦执行到return时 函数就执行完毕 并将结果返回 因此 函数内部通过条件判断和循环可以实现非常复杂的逻辑 如果没有return语句 函数执行完毕后也会返回结果 只是结果为undefined 定义方法一
  • ROS笔记 URDF及rviz可视化及遇到的问题

    在学习http gazebosim org tutorials tut ros urdf中遇到一些问题 因为版本不同出现错误 GazeboRosControlPlugin missing while using DefaultRobotHW
  • FIO 磁盘性能测试

    FIO 磁盘性能测试 fio 是一个开源压力测试工具 主要用来测试硬盘 io 性能 这个工具的可定制性非常强 可以根据测试者的想法进行各种混合 io 测试 它支持 13 种不同类型 io 引擎 libaio sync mmap posixa
  • 系统设计感悟

    author skate time 2012 07 26 系统设计感悟 总结以往教训 以后再设计系统时注意点 首先考虑 系统不同的服务对象的定位 比如优先级等 系统的考核指标定位 性能 稳定 扩展伸缩 再次设计系统时必须考虑 1 控制表的数
  • C++语言入门3(定义整数与整数输入)

    关于整数 c 是一个对定义要求很严格的语言 对于数的定义也有很多种 比如整数 浮点数 整数不言而喻 不含有小数点 关于整数的定义也有很多种 最常用的无疑是int 我们定义整数一般选择的是int int可以表示的整数范围可以达到2 32 1
  • ESP32调试笔记

    1 现象 上电后一直复位 rst 0x3 SW RESET boot 0x13 SPI FAST FLASH BOOT 原因 Flash烧录时 ota data和app0位置错了 解决 把ota data和app0位置烧录正确即可 位置从分
  • 【vue3总结知识点——精简一】

    vue3总结知识点 认识vue3 Composition API setup 执行时机 setup 包含的生命周期 ref获取页面数据 reactive reactive与ref的异同 比较Vue2与Vue3的响应式 vue2的响应式 Vu
  • 组合数打表模板

    组合数打表模板 组合数打表模板 适用于N lt 3000c i j 表示从i个中选j个的选法 1 2 3 4 5 6 7 8 9 10 11 12 long long C N N const int mod 1e9 5 void get C
  • MFC创建内存映射文件示例

    该实例是在程序的exe路径下 实现读取 写入内存映射文件功能 头文件 ifdef GERNERAL PRODUCTDATA EXP define GERNERAL PRODUCTDATA API declspec dllexport els
  • window中如何用命令行新建文件夹和文件

    1 新建文件夹 D gt mkdir test 通过mkdir 文件夹名 回车即可用命令行工具新建文件夹 2 新建文件 cd test文件目录下 D gt test type nul 文件名 回车即可创建新的文件
  • Element UI的table表格中实现复选框勾选

    需求 在table中实现勾选多行复选框的内容 点击提交按钮 选择的复选框与表格内容对应
  • Matlab 常用快捷键

    MATLAB Numpy函数对照表 http mathesaurus sourceforge net matlab python xref pdf 常见快捷键 Ctrl R 注释代码 Ctrl T 取消注释代码 Ctrl 或 先将光标移动到
  • stm32——PWM实现呼吸灯效果

    使用pwm点亮led 实现呼吸灯效果 led为什么可以越来越亮 越来越暗 由不同的占空比决定 占空比由CCRx决定 1 芯片手册查看引脚pwm通道 2 cubeMX sys设置串口 RCC设置时钟来源 配置时钟 配置io口的pwm输出 三
  • 华为机顶盒系统时间同步服务器,华为悦盒主时间同步服务器地址

    华为悦盒主时间同步服务器地址 内容精选 换一换 华为云存储容灾服务 简称SDRS 提供了虚拟机级别的容灾保护 当主站点故障的时候 虚拟机可以在备站点迅速恢复 以确保业务的联系性 来自 产品 边缘节点既可以是物理机 也可以是虚拟机 边缘节点需
  • Linux下C/C++语言gdb调试方法

    1 gdb参数列表 启动程序准备调试 gdb your proceduce 或者先输入gdb 然后输入 file your proceduce 然后使用run或者r命令开始程序的执行 也可以使用 run parameter将参数传递给该程序
  • 核酸检测安排

    题目描述 在系统 网络均正常的情况下组织核酸采样员和志愿者对人群进行核酸检测筛查 每名采样员的效率不同 采样效率为N人 小时 由于外界变化 采样员的效率会以M人 小时为粒度发生变化 M为采样效率浮动粒度 M N 10 输入保证N 10 的结