题目传送门

思路

题目大意就是说你现在要买一些食品,如果你现在买的食品是套餐中的,且单买价比套餐价要高,那就会把买单个改为买套餐,求买食品需要花费多少钱。

很简单,直接根据规则进行模拟即可。

首先我们先把要买的东西的食品编号用桶的思想储存起来,假设编号为 xxx,我们定义以为数组 buyibuy_ibuyi​ 表示在要买的食品中,食品编号为iii的食品要买多少个。

然后我们不看别的,只看套餐里的东西。 先一直循环,然后枚举套餐里的食品编号,接着一份一份的来看。 假设现在枚举到了套餐里的第 iii 个物品。如果 buypi=0buy_{p_i}=0buypi​​=0 即要买东西中没有 pip_ipi​ 则此时什么也不用做。如果 buypi>0buy_{p_i}>0buypi​​>0 即要买的东西中有 pip_ipi​ 则我们先定义一个变量 tottottot 来记录套餐和要买的东西中单买一份的总价格。 则此时 tot←tot+cpitot \gets tot+c_{p_i}tot←tot+cpi​​。 最后,如果 tot>xtot>xtot>x 即单买价格超过了套餐价格,设最终答案为 ansansans 则此时 ans←ans+xans\gets ans+xans←ans+x。并且将单买中选过的食品 iii 的 buyi←buyi−1buy_i\gets buy_i-1buyi​←buyi​−1。 如果 x≥totx \ge totx≥tot 则什么也不用做,直接跳出循环。

考虑完套餐之后,接下来就只剩单买了,将剩下的要买的东西全部按照单买价进行购买即可。

最后直接输出 ansansans 即可。

代码

#include<iostream>
using namespace std;
int k,c[25];
int x,p[5];
int t,s[25];
int buy[25];
int ans;
int main()
{//输入cin>>k;for(int i=1;i<=k;++i){cin>>c[i];}cin>>x>>p[1]>>p[2]>>p[3]>>p[4];cin>>t;for(int i=1;i<=t;++i){cin>>s[i];buy[s[i]]++;//桶}//处理套餐中要买的东西while(1){int tot=0;for(int i=1;i<=4;++i){tot+=min(buy[p[i]],1)*c[p[i]];}if(tot>x){for(int i=1;i<=4;++i){buy[p[i]]=max(buy[p[i]]-1,0);}ans+=x;}else{break;}}//剩下的东西进行单买for(int i=1;i<=k;++i){ans+=buy[i]*c[i];}//输出cout<<ans<<endl;return 防抄袭;
}

[COCI2014-2015#7] TETA相关推荐

  1. COCI2014/2015 Contest#1 PIRAMIDA 优化空间

    src 给1e6长的字符串,构造一个连续排列的金字塔,类似蛇形地放入.求第ai行字符ci有几个.ai有1e18,但询问k只有1e5. 对单个询问,容易想到求前后缀.因为第ai行之前的长度,能用求和公式 ...

  2. 龙岩学院计算机二级报名时间,福建龙岩学院2015年12月计算机等级考试报名通知...

    福建龙岩学院2015年12月计算机等级考试报名通知 各学院: 根据上级有关文件通知,2015年12月福建省高校学生计算机应用水平等级考试开始报名,现将有关事项通知如下: 一.考试内容: 本次一.二考试 ...

  3. 浙江大学通信与计算机网络,新浙大2015年通信与计算机网络离线作业.doc

    新浙大2015年通信与计算机网络离线作业 浙江大学远程教育学院 <通讯与计算机网络>课程作业 姓名:学 号:年级:14年春学习中心:温州学习中心 从资源共享的角度来定义计算机网络,计算机网 ...

  4. 计算机一级考试模拟题函数,2015年计算机一级考试模拟题(四)

    2015年计算机一级考试模拟题(四) 请用Word 2003对考生文件夹下WORD.DOC文档中的文字进行编辑.排版和保存,具体要求如下: (1)将标题段("十年后的家电")文字设 ...

  5. CV算法复现(分类算法5/6):ResNet(2015年 微软亚洲研究院)

    致谢:霹雳吧啦Wz:https://space.bilibili.com/18161609 目录 致谢:霹雳吧啦Wz:https://space.bilibili.com/18161609 1 本次要 ...

  6. mysql如何下载连接到visual_Visual Studio 2015 Community连接到Mysql

    Visual Studio 2015 Community连接到MySQL,步骤很简单,但刚弄的时候一脸懵,现在记录如下以作备忘: 安装好VS2015和Mysql后,只需要再安装两个东西即可. 一个是S ...

  7. 微软批量授权版WINDOWS 10资料(截至到2015年11月,此处无下载地址)

    微软批量授权版WINDOWS 10资料: 1.专业版: Windows 10 专业版(2015 年 7 月发布) WINDOWS 10专业版简体中文,32位/64位 SW_DVD5_Win_Pro_1 ...

  8. Enda 的 2015 下半年读书计划

    2015下半年的读书计划 php 方面 <PHP设计模式> <PHP核心技术与最佳实践> <learning php设计模式> <深入php> Mysq ...

  9. 计算机考试批处理试题,2015计算机三级考试pc技术模拟试题及答案(八)

    2015计算机三级考试pc技术模拟试题及答案(八) 1.关于Windows 98中的网上邻居的相关叙,( )是错误的. A.通过网上邻居可以游览和使用网上的全部计算机资源 B.通过网上邻居可以浏览网上 ...

  10. InstallShield 2015 LimitedEdition VS2012 运行bat文件

    转载:http://www.cnblogs.com/fengwenit/p/4271150.html  运行bat文件 网上很多介绍如何运行bat的方法,但我这个是limted 版本,不适用. 1. ...

最新文章

  1. python walk 遍历文件夹 文件大小
  2. 用 Java 对 hbase 进行CRUD增删改查操作
  3. C++友元函数和友元类(二)
  4. Hibernate入门(IDEA下自动生成映射文件及实体类)
  5. 深入理解计算机底层为什么采用补码运算【如何理解二进制计算高位溢出】
  6. OpenCV学习笔记(五十四)——概述FaceRecognizer人脸识别类contrib
  7. Guava入门~Objects
  8. [CB]将窗体从属于主窗体
  9. [SAP2000] 简单桁架受力求解过程
  10. jvm原理、启动时间、与编译器操作系统关系
  11. 编程零基础应当如何开始学习 Python?
  12. cesium 百度地图_Cesium专栏-热力图(附源码下载)
  13. 翻译:道路机动车辆驾驶自动化系统相关术语的分类和定义 J3016_202104
  14. 植物大战僵尸的闯关关数以及金钱修改
  15. win10系统云服务器配置,win10系统云服务器配置
  16. 淘宝API 添加上传商品图片
  17. TODO注解及其他类似注解说明
  18. MySQL数据库--韩顺平老师课
  19. foxmail远程主机强迫关闭了一个现有的连接
  20. 前后端分离项目,vue+uni-app+php+mysql外卖点餐小程序系统 开题报告

热门文章

  1. pip更新超时失败之解法
  2. XCZU19EG板卡设计资料:610-基于6U VPX 的FPGA XCZU19EG存储阵列
  3. 数据库到底应该如何存储密码?
  4. css3 横向滚动条
  5. 山西职称英语和计算机考试,山西2017职称英语考试免考条件
  6. java框架 token_Java安全框架(三):JWT(Json Web Token)
  7. 基于STM32F103系列的MAX31865读取PT100温控器设计与实现
  8. 基于室内导航的现有的6种解决方案
  9. 关于WiFi-Sensing(无线感知)的未来
  10. 专升本管理学知识点总结——沟通