洛谷 P2095 营养膳食 C语言

news/2025/2/11 3:33:43/

P2095 营养膳食 - 洛谷 | 计算机科学教育新生态

题目描述

Mr.L 正在完成自己的增肥计划。

为了增肥,Mr.L 希望吃到更多的脂肪,然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养。

Mr.L 通过研究发现:真正的营养膳食规定某类食品不宜一次性吃超过若干份。比如就一顿饭来说,肉类不宜吃超过 1 份,鱼类不宜吃超过 1 份,蛋类不宜吃超过 1 份,蔬菜类不宜吃超过 2 份。

Mr.L 想要在营养膳食的情况下吃到更多的脂肪,当然 Mr.L 的食量也是有限的。

输入格式

第一行包含三个正整数 n,m 和 k。表示 Mr.L 每顿饭最多可以吃 m 份食品,同时有 n 种食品供 Mr.L 选择,而这 n 种食品分为 k 类。

第二行包含 k 个不超过 10 的正整数,表示可以吃 1 到 k 类食品的最大份数。

接下来 n 行每行包括 2 个正整数,分别表示该食品的脂肪指数 ai​ 和所属的类别 bi​。

输出格式

包括一个数字即 Mr.L 可以吃到的最大脂肪指数和。

输入输出样例

输入 #1

6 6 3
3 3 2
15 1
15 2
10 2
15 2
10 2
5 3

输出 #1

60

说明/提示

对于 100% 的数据,1≤n≤200,1≤m≤100,1≤ai​≤100,1≤bi​≤k。

思路:

代码如下:

#include<iostream>
#include<algorithm>
using namespace std;
int n,m,k;
int K[250];
struct Node{int a;int b;
};
bool compare(const Node A ,const Node B )
{return A.a > B.a;
}
Node arr[250];
int cnt;
int main(void)
{cin >> n >> m >> k;for(int i = 1 ; i <= k ; i++)cin >> K[i];for(int i = 1 ; i <= n ; i++){cin >>arr[i].a >> arr[i].b;}sort(arr+1,arr+1+n,compare);
//	for(int i = 1 ; i <= n ; i++)
//	cout << arr[i].a << " " << arr[i].b << '\n';for(int i = 1 ; i <= n ; i++){int t = arr[i].b;if(K[t] && m){K[t]--;m--;cnt += arr[i].a;}}cout << cnt;return 0;
}


http://www.ppmy.cn/news/1571041.html

相关文章

C# ASP.NET程序与 Web services 编程介绍

.NET学习资料 .NET学习资料 .NET学习资料 在当今的软件开发领域&#xff0c;C# 和ASP.NET是构建强大而灵活的 Web 应用程序的重要工具&#xff0c;而 Web services 则为不同应用程序之间的通信和交互提供了便利。下面将详细介绍 C# ASP.NET程序与 Web services 编程。 一、C…

基于 Ollama+Docker+OpenWebUI 的本地化部署deepseek流程

搭建deepseek 安装Ollama Ollama官方下载地址 下载完成后双击打开Ollama进行安装,点击install 安装完成后系统会弹出下图提示代表安装成功并且已启动 验证安装 ollama -v安装完成后&#xff0c;cmd 打开命令行窗口&#xff0c;输入 “ollama -v” 测试&#xff0c;显示 olla…

网络爬虫js逆向之异步栈跟栈案例

【注意&#xff01;&#xff01;&#xff01;】 前言&#xff1a; 1. 本章主要讲解js逆向之异步栈跟栈的知识&#xff08;通过单步执行调试&#xff09; 2. 使用关键字搜定位加密入口 3. 本专栏通过多篇文章【文字案例】的形式系统化进行描述 4. 本文章全文进行了脱敏处理 5. 详…

动手写ORM框架 - GeeORM第一天 database/sql 基础

文章目录 1 初识 SQLite2 database/sql 标准库3 实现一个简单的 log 库4 核心结构 Session本文是7天用Go从零实现ORM框架GeeORM的第一篇。介绍了 SQLite 的基础操作(连接数据库,创建表、增删记录等)。使用 Go 语言标准库 database/sql 连接并操作 SQLite 数据库,并简单封装…

deepseek接入pycharm 进行AI编程

要将DeepSeek接入PyCharm进行AI编程,可以按照以下步骤操作: ### 1. 获取DeepSeek API访问权限 DeepSeek通常以API的形式对外提供服务,你需要在其官方网站注册账号,申请API访问权限。在申请通过后,会获得API密钥(API Key),这是后续调用API的关键凭证。 ### 2. 安装必要…

【C++学习篇】C++11

目录 ​编辑 1. 初始化列表{} 1.1 C98中的{} 1.2 C11中的{} 2. C11中的std::initializer_list 3. 右值引用和移动语义 3.1 左值和右值 3.2 左值引用和右值引用 3.3 引用延长生命周期 3.4 左值和右值的参数匹配 3.5 右值引⽤和移动语义的使⽤场景 3.5.1 左值引⽤…

npm无法加载文件 因为此系统禁止运行脚本

安装nodejs后遇到问题&#xff1a; 在项目里【node -v】可以打印出来&#xff0c;【npm -v】打印不出来&#xff0c;显示npm无法加载文件 因为此系统禁止运行脚本。 但是在winr&#xff0c;cmd里【node -v】,【npm -v】都也可打印出来。 解决方法&#xff1a; cmd里可以打印出…

如何在RTACAR中配置IP多播(IP Multicast)

一、什么是IP多播 IP多播&#xff08;IP Multicast&#xff09;是一种允许数据包从单一源地址发送到多个目标地址的技术&#xff0c;是一种高效的数据传输方式。 多播地址是专门用于多播通信的IP地址&#xff0c;范围从 224.0.0.0到239.255.255.255 与单播IP地址不同&#x…