贪心算法: 奶牛做题
5289. 奶牛做题 - AcWing题库
贝茜正在参加一场奶牛智力竞赛。
赛事方给每位选手发放 n 张试卷。
每张试卷包含 k 道题目,编号 1∼k。
已知,不同卷子上的相同编号题目的难度相同,解题时间也相同。
其中,解决第 i 道题(无论哪张试卷)所需的时间为 ti 分钟。
每解决 1 道题目,就可以获得 1 分。
因此,每张试卷的最终得分等于这张卷子上被解决的问题数量。
此外,每有一张满分试卷(即成功解决卷子上全部 k 个问题的试卷),还可以额外获得 1 分奖励。
比赛的持续时长为 M分钟,请你计算贝茜最多可能获得多少分。
输入格式
第一行包含三个整数 n,k,M。
第二行包含 k 整数 t1,t2,…,tk。
输出格式
一个整数,表示贝茜可能得到的最大分数。
数据范围
前 44 个测试点满足 1≤n,k≤5
所有测试点满足 1≤n,k≤45,0≤M≤2×109,1≤ti≤106。输入样例1:
3 4 11 1 2 3 4输出样例1:
6输入样例2:
5 5 10 1 2 4 8 16输出样例2:
7
贪心思路:
先枚举做多少套成套试卷。
然后按照时间从小到大做每一道题,直至剩余时间不足。
取答案最大值即
AC code:
#include<bits/stdc++.h> using namespace std; int n, k, m; int arr[50]; int sum = 0; int main() {cin >> n >> k >> m;for (int i = 1; i <= k; i++) {cin >> arr[i];sum = sum + arr[i];}sort(arr + 1, arr + k + 1);int ans = 0;for (int i = 0; i <= n; i++) {int time = sum * i;if (time > m) break;int x = m - time;int res = i * k + i;for (int j = 1; j <= k; j++) {if (x < arr[j]) break;int num = min(n - i, x / arr[j]);res += num;x -= num * arr[j];}ans = max(ans, res);}cout << ans; }
相关文章:
贪心算法: 奶牛做题
5289. 奶牛做题 - AcWing题库 贝茜正在参加一场奶牛智力竞赛。 赛事方给每位选手发放 n 张试卷。 每张试卷包含 k 道题目,编号 1∼k。 已知,不同卷子上的相同编号题目的难度相同,解题时间也相同。 其中,解决第 i 道题(…...
go语言tcp协议实现文件上传
一、客户端实现方案: package mainimport ("fmt""io""net""os" )func sendFile(filePath string, conn net.Conn) {defer conn.Close()// 获取文件名fileInfo, err : os.Stat(filePath)if err ! nil {fmt.Println("E…...
【Unity】利用二进制数据持久化 【练习学习项目/有不足之处欢迎斧正/侵删】
1.为编辑器菜单栏添加新的选项入口 通过Unity提供的MenuItem特性在菜单栏添加选项按钮 特性名:MenuItem 命名空间:UnityEditor 要求:一定是静态方法;新建的这个菜单栏按钮 必须有至少一个斜杠 不然会报错 它不支持只有一个菜单…...
做伦敦银要等怎样的价格与行情?
对于不同的伦敦银投资者来说,合适的入市价格和好的行情机会,标准可能并不一样,因为不同人有不同的交易策略、风险偏好和盈利目标。对于喜欢做趋势跟踪的投资者来说,一波明显而持续的上涨或下跌趋势,可能就是最好的行情…...
SpringBoot多数据源切换 多数据源事务解决方案 二
https://zhuanlan.zhihu.com/p/612825647?utm_id0 https://blog.csdn.net/guzhangyu12345/article/details/108559810 SpringBoot多数据源事务解决方案 https://blog.csdn.net/u013407099/article/details/124526396多数据源切换下保证事务解决方案 https://blog.csdn.net/re…...
ElasticSearch 搜索推荐
Term Suggester "suggest_mode":"missing" missing 默认选项,不返回精准匹配到的分词结果 "suggest_mode":"popular" popular 大于等于搜索词频率的返回 "suggest_mode":"always", 不做任何限制&qu…...
Linux纯命令行查看文本文件
处理超大文本文件时,你可能希望避免一次性加载整个文件,这可能会耗尽内存资源。以下是一些在命令行中查看大文本文件的方法,它们适用于Linux和Unix系统,包括Mac OS X,而在Windows中,你可以使用类似的工具或…...
解决前端项目中Node.js版本不一致导致的依赖安装错误
解决前端项目中Node.js版本不一致导致的依赖安装错误 🌟 前言 欢迎来到我的小天地,这里是我记录技术点滴、分享学习心得的地方。📚 🛠️ 技能清单 编程语言:Java、C、C、Python、Go、前端技术:Jquery、Vue…...
IIoT 与 IoT 之间的区别
物联网世界充满了各式各样的首字母缩写词,从LPWAN到MQTT,再到广为人知的IoT。然而,这仅仅是冰山一角,物联网领域还有更多的变化等待我们去探索,其中就包括IIoT,即工业物联网。那么,你可能会问&a…...
spring boot3token拦截器链的设计与实现
⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途。 目录 写在前面 流程分析 需要清楚的 实现步骤 1.定义拦截器 2.创建拦截器链配置类 3.配置拦截器链顺序 4.配置拦截…...
LeetCode543题:二叉树的直径(python3)
代码思路: 先递归调用左儿子和右儿子求得它们为根的子树的深度 L和 R ,则该节点为根的子树的深度即为max(L,R)1。该节点的 dnode值为LR1 递归搜索每个节点并设一个全局变量 ans记录 dnode的最大值,最后返回 ans-1 即为树的直径。 # Definit…...
zabbix 7.0编译部署教程
zabbix 7.0编译部署教程 2024-03-08 16:50乐维社区 zabbix7.0 alpha版本、beta版本已经陆续发布,Zabbix7.0 LTS版本发布时间也越来越近。据了解,新的版本在性能提升、架构优化等新功能方面有非常亮眼的表现,不少小伙伴对此也已经跃跃欲试。心…...
Oracle Linux 8.9 安装 Python 3.11.8 和 Miniconda
Oracle Linux 8.9 安装 Python 3.11.8 和 Miniconda 1. 安装 Python 3.11.82. 安装 Miniconda 1. 安装 Python 3.11.8 Update system, sudo dnf update -yInstall Library, sudo dnf install curl gcc openssl-devel bzip2-devel libffi-devel zlib-devel wget make git -yI…...
Docker 配置阿里云镜像加速器
一、首先需要创建一个阿里云账号 二、登录阿里云账号 三、进入控制台 四、搜索容器镜像服务,并选择 五、选择镜像工具中的镜像加速 六 、配置镜像源 注意:有/etc/docker文件夹的直接从第二个命令开始...
[Linux][CentOs][Mysql]基于Linux-CentOs7.9系统安装并配置开机自启Mysql-8.0.28数据库
目录 一、准备工作:获取安装包和相应工具 (一)所需安装包 (二)安装包下载链接 (三)在服务器上创建文件夹并上传安装包 二、安装MySql (一)删除系统自带的mariadb …...
实用指南!2024年度计划怎么写?工作学习必备!
在新的一年开始之际,制定一份详细而实用的年度计划对于实现个人和职业目标至关重要。无论是在工作、学习还是生活中,一个明确的计划可以帮助你更好地组织时间、资源和精力,从而更有效地实现目标。下面是一个关于如何写年度计划的指南…...
js的事件有哪些?
鼠标事件: 鼠标事件 触发条件 onclick 鼠标点击左键触发 oncontextmenu 鼠标点击右键触发 ondblclick 鼠标双击触发 onmouseover 鼠标经过触发 onmouseout 鼠标离开触发 onmousemove 鼠标移动触发 onmouseup 鼠标弹起触发 onmousedown 鼠标按下触发 键盘事…...
Mock.js 基本语法与应用笔记
🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…...
vue从零到一创建项目?
创建一个Vue项目通常需要经过以下步骤,从零开始构建一个基本的Vue项目: 步骤一:安装Node.js和npm 下载安装Node.js: 在Node.js官网下载适合你操作系统的Node.js安装包,并按照提示进行安装。安装完Node.js后ÿ…...
安装PyTorch详细过程
安装anaconda 登录anaconda的官网下载,anaconda是一个集成的工具软件不需要我们再次下载。anaconda官网 跳转到这个页面如果你的Python版本正好是3.8版,那便可以直接根据系统去选择自己相应的下载版本就可以了。 但是如果你的Python版本号不是当前页面…...
告别阻塞!Python asyncio子进程通信全攻略(含ls/echo等实例代码)
Python异步编程实战:asyncio子进程通信深度解析 在当今高并发的开发环境中,传统的同步子进程调用方式已经成为性能瓶颈的罪魁祸首。想象一下,当你的Python应用需要同时处理数十个外部命令调用时,那些无谓的等待时间会让整个系统的…...
告别命令行!用C#和FFMpegCore给你的视频批量加水印和转码
用C#和FFMpegCore打造企业级视频处理流水线 每次看到团队里的小伙伴手动用FFmpeg命令行处理上百个视频文件时,我都忍不住想——这简直是在浪费生命。作为经历过这种痛苦的技术负责人,我深知自动化视频处理对于内容团队的重要性。今天,我将分享…...
瑞芯微Linux驱动工程师面试技术要点解析
1. 瑞芯微Linux驱动工程师面试全解析 作为一名在嵌入式Linux领域摸爬滚打多年的老司机,今天想和大家分享一份瑞芯微社招Linux驱动工程师的真实面经。不同于网上那些泛泛而谈的面试技巧,这份面经完全基于实际项目经验展开,可以说是"写什么…...
OpenClaw自动化周报:Qwen3.5-9B-AWQ-4bit整合截图生成工作总结
OpenClaw自动化周报:Qwen3.5-9B-AWQ-4bit整合截图生成工作总结 1. 为什么需要自动化周报 每周五下午,我的电脑屏幕总会同时开着十几个窗口:项目管理系统截图、代码提交记录、会议纪要文档、临时笔记文件……把这些碎片信息整理成结构化周报…...
QQ 第三方登录(Django)
QQ 第三方登录(Django) 本篇教程完全面向 Django 开发者,从 QQ 互联原理、三端交互流程,到完整代码实现,一步到位,新手可直接复制粘贴跟着操作,避开所有常见踩坑点,兼顾教学和实战需…...
Android音频开发避坑指南:用OboeTester的Device Report快速排查耳机兼容性问题
Android音频开发实战:用OboeTester精准诊断耳机兼容性问题 当你在星巴克掏出Type-C耳机准备调试刚写完的音频播放代码,却发现设备死活不出声——这种崩溃瞬间每个Android音频开发者都经历过。数字耳机兼容性问题就像薛定谔的猫,不到实际连接那…...
基于MATLAB与SVM实现河道水面漂浮物的自动检测与识别
摘要:河道水面漂浮物不仅影响水环境质量,还威胁水利设施安全和水生态健康。传统人工巡检方式效率低、成本高,难以满足大范围、实时化的 监测需求。针对上述问题,本文基于 MATLAB 平台,结合支持向量机(SVM&a…...
电力电子新手必看:SPWM单极性倍频调制在Simulink中的实现与优化
电力电子新手必看:SPWM单极性倍频调制在Simulink中的实现与优化 在电力电子领域,正弦脉宽调制(SPWM)技术因其简单高效而广受欢迎。对于初学者而言,单极性倍频调制作为SPWM的一种进阶实现方式,能够显著提升输…...
深入理解Python @dataclass:从基础到高级用法
Python 3.7引入了dataclass装饰器,这是一个强大的工具,能够显著减少数据类的样板代码。本文将详细介绍dataclass的各种用法,特别是如何正确处理可变默认值和类型注解。 什么是dataclass dataclass是位于dataclasses模块中的装饰器,…...
网站主机技术概述
网站主机技术概述 随着互联网技术的飞速发展,网站已经成为企业和个人展示形象、提供服务的必要平台。网站主机的选择对于网站的稳定性和访问速度至关重要。本文将详细阐述网站主机技术,包括其基本概念、类型、选择标准以及未来发展趋势。 一、网站主机基本概念 网站主机,…...
