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 输出 #1
6 3 3 60
3 3 2
15 1
15 2
10 2
15 2
10 2
5 3
属于第某类菜的,例如:总共有5样属于第1类的菜,而第1类中最多吃3份,那么我只能挑其中的3样脂肪最多的,其他的全部丢掉。
用贪心,大多需要排序,因为答案要的是脂肪最多的,所以按照脂肪大小从大到小排序。
#include<bits/stdc++.h>
using namespace std;
int n,m,k,b[99999],ans=0;
struct app{
int a,b;
}a[99999];
bool low(app a,app b){
return a.a>b.a;
}
int main()
{
scanf("%d%d%d",&n,&m,&k);int p=m;
for(int i=1;i<=k;i++)
scanf("%d",&b[i]);
for(int i=1;i<=n;i++)
scanf("%d%d",&a[i].a,&a[i].b);
sort(a+1,a+1+n,low);
for(int i=1;i<=n;i++)
for(int j=1;j<=k;j++)
if(m==0){
printf("%d",ans);return 0;
}
else if(j==a[i].b&&b[j]>0)
ans+=a[i].a,m--,b[j]--;
}
求赞
P2095 营养膳食相关推荐
- 洛谷——P2095 营养膳食
题目描述 Mr.L正在完成自己的增肥计划. 为了增肥,Mr.L希望吃到更多的脂肪.然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养.Mr.L通过研究发现:真正的营养膳食规定某类食品不宜一次性吃超 ...
- 基于聚类分析和协同过滤算法的营养膳食分析系统的设计与实现
1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,基于聚类分析和协同过滤算法的营养膳食分析系统的设计与实现. 1. 协同过滤的算法思想 1.1. 基于内容的推荐中不足之处 基于内容的推荐方法 ...
- Python+cplex运筹优化学习笔记(三)-营养膳食选择
Python+cplex运筹优化学习笔记(三)-营养膳食选择 前言 首先呢,说明一下,本文只是自己在学习过程中运用到的例子,然后规整总结一下,随便写写自己所做的一些笔记.小白学习,有不对的地方还望大家 ...
- 如何制作营养膳食计算器_如何创建随机膳食生成器
如何制作营养膳食计算器 Last week I decided to take on a new challenge. I called it: The #100Days100Projects Cha ...
- 如何制作营养膳食计算器_如何通过构建自动膳食计划器节省时间和金钱
如何制作营养膳食计算器 使用Google Calendar和Google Sheets API在正确的日子选择正确的食谱. (Use the Google Calendar and Google Sh ...
- 营养膳食-P2095
其实我本来很不愿意做这个题解的,因为这道题真的太恶心了,转念一想以后会有更多人被这道题坑死,我还是来写一下吧 传送门点我点我 读完题我们知道了每一种type的食物都有对应的脂肪和食用限制,然后搞一个结 ...
- Python+Cplex学习笔记(三)—— docplex官方示例之营养膳食选择
1 前言 网上能找到的python调用cplex示例实在太少,全英文的官方文档又十分难啃,还是从例子学起比较好,转了一圈找到github,发现IBM写了几个例子,但是又没有中文博客解释.借助网页和he ...
- Springboot毕设项目老年人营养膳食咨询平台0h520(java+VUE+Mybatis+Maven+Mysql)
项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- 2017-2018年度刷题记录
2018暑假刷题1: T1.CF6A Triangle (#模拟 -1.4) T2.CF59A Word(#模拟 -1.5) T3.[洛谷]P2772 寻找平面上的极大点(#贪心 -1.4) T4.[ ...
最新文章
- SQLite的事务和锁
- 真实感水面绘制-资料收集
- 【.Net 学习系列】-- EF Core实践(Code First)
- Pandas Timedelta对象
- 关于腾讯云服务器不能用公网ip访问的解决方案
- c语言字符合法,C语言字符数据的合法形式
- CImage 从内存中读取图像
- Zune支持哪些格式?
- 贝塔自助授权系统php源码,贝塔自助授权系统v1.1
- Python 中国象棋源码 V1
- 想搞 AI,没导师指导、没 GPU ,怎么搞?好主意分享
- 穿山甲android对接错误码40029,空Android项目集成Cocos、穿山甲。Lua调用网络接口。...
- 收发EtherCAT帧——ecx_recvpkt
- linaro公司:交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别
- 解决binwalk提取需要权限问题,binwalk提取文件报错。
- 技术分享 | OpenVINO及EdgeX摄像头管理和推理平台
- 易强商务邮件搜索王 v3.7 下载
- [内附完整源码和文档] 基于JAVA的酒店住宿管理系统
- html下拉select美化,美化select下拉菜单
- Java经典例题07:用100元人民币兑换10元、5元、1元的纸币
热门文章
- 95.第十九章 MySQL数据库 -- 单表操作(五)
- 莫名戳中你笑点 法海不懂爱的真相
- SpringBoot 学习之 No bean named ‘xxx’ available
- Cisco® Catalyst® 8000V 边缘软件 (Catalyst 8000V) 17.11.1a 发布 - 虚拟路由器
- P5724 【深基4.习5】求极差 / 最大跨度值
- tomcat警告setting property 'debug' to '0' did not find a matching property
- [JS真好玩] 掘金创作者必备: 用一行JS查看所有文章的转化率,让你知道什么标题才是好标题
- python circle后面是什么意思_circle 是什么意思
- 微软CRM与知客CRM简介及互补营销
- 数学家的这些迷惑行为,最后都成了神操作