原题链接:MJUPC-006_F.原神:原石的优惠大礼包

F.原神:原石的优惠大礼包

题目描述

米哈游公司下的著名开发世界冒险类游戏——原神,正迎来发行一周年的庆典活动,正因如此,瞧中商机的黄牛们纷纷通过自己的渠道屯了大量比官方更低价的且有限的原石。

派蒙现在需要买到 n n n 个原石,派蒙叫来好友们,拿到了所有黄牛的交易方式,一共有 m m m 个黄牛。

每个黄牛都有自己定义的原石单价,且每个黄牛能够出售的原石数量也可能是不同的。

派蒙想知道怎么才能以最低消费买到所需要的 n n n 个原石。

输入格式

第一行二个整数 n , m n,m n,m,表示需要原石的总量,和提供原石的黄牛个数。

接下来 m m m 行,每行两个整数 p i , a i p_i,a_i pi​,ai​​,表示第 i i i 个黄牛出售的原石的单价,和黄牛 i i i 最多能出售的原石数量。

输出格式

单独的一行包含单独的一个整数,表示派蒙拿到所需的原石所要的最小费用。

输入输出样例

输入 #1:

100 5
5 20
9 40
3 10
8 80
6 30

输出 #1:

630
说明/提示

【数据范围】

对于 100 % 100\% 100% 的数据:

0 ≤ n , a i ≤ 2 × 1 0 6 0 \le n,a_i \le 2 \times 10^6 0≤n,ai​≤2×106, 0 ≤ m ≤ 5000 0\le m \le 5000 0≤m≤5000, 0 ≤ p i ≤ 1000 0 \le p_i \le 1000 0≤pi​≤1000
【出题人】
TIT_0

题目解析:

读题后可以发现,目的是以最低消费购买需要的 n n n 个原石,由题,我们不需要担心是否有 n n n​​ 个原石,因此我们的目的就变成了最低消费

购买方式没有限制,显然这是一道贪心题,保存输入数据后,以各个黄牛的原石单价为关键字做排序,最后遍历统计花费即可(遍历过程中要注意购买的数量不要超出所需的 n n n 个原石)。

AC代码(C++):
#include <bits/stdc++.h>
using namespace std;pair<int, int> pedlars[5000];
bool cmp(pair<int, int> a, pair<int, int> b) { return a.first < b.first; }   //cmp比较器重构int main()
{int n, m;cin >> n >> m;for (int i = 0; i < m; i++) cin >> pedlars[i].first >> pedlars[i].second;int ans = 0, cost, amount;sort(pedlars, pedlars + m, cmp);for (int i = 0; i < m && n > 0; i++){cost = pedlars[i].first, amount = pedlars[i].second;if (n >= amount) ans += amount * cost, n -= amount;else ans += n * cost, n = 0;}cout << ans << endl;return 0;
}

MJUPC-006_编程挑战系列赛第六场(以代码为文,贺国庆华诞) _F.原神:原石的优惠大礼包相关推荐

  1. MJUPC-006_编程挑战系列赛第六场(以代码为文,贺国庆华诞) _G.原神:原石的优惠大礼包【升级版】

    原题链接:MJUPC-006_G.原神:原石的优惠大礼包[升级版] G.原神:原石的优惠大礼包 题目描述 米哈游公司下的著名开发世界冒险类游戏--原神,正迎来发行一周年的庆典活动,正因如此,瞧中商机的 ...

  2. STIPC-003_编程挑战系列赛第三场(柯柯的期末祝福) _E.公正的决赛

    原题链接:STIPC-003_E.公正的决赛 E.公正的决赛 题目背景 北京时间2021年6月16日凌晨,世预赛亚洲区A组末轮展开角逐,中国3-1击败叙利亚,成功晋级世预赛亚洲区12强赛. 题目描述 ...

  3. MJUPC-022_编程挑战系列赛第二十二场(以梦为“码“ “数“说未来)题解(C/C++代码)

    题目一:Hello MJUers 输出一个数学与数据科学学院(软件学院)社管中心科技部的Logo,做为打开MJUPC编程挑战系列赛大门的敲门砖. 此题为签到题,没有难度,但因Logo字符画中包含一些转 ...

  4. STIPC_编程挑战系列赛第一场(小郭的故事)_A.小郭最爱签到题

    原题链接:STIPC-001_A.小郭最爱签到题 A.小郭最爱签到题 题目背景 欢迎来到编程挑战赛第一场周赛! 我们是出题者--科创中心软件与程序设计兴趣小组. 我们的小组有三位技术骨干,这次的比赛中 ...

  5. 10h+技术干货 | 我们整理了过去六场机器人创新生态系列研讨会总结+专家干货,一次性带你看过瘾!

    2020年已经步入下半年,至今为止英特尔智能机器人产学研生态合作系列研讨会已完成了6场研讨会,在这总时长10h+的深度研讨会上,从智能零售为起点,走过人工智能.工业4.0.机器人.数据中台等多个领域, ...

  6. 在线练习题库python_有哪些 python 的在线练习题或编程挑战的网站?

    10个锻炼编程技能的网站,拿走不谢! 一.LeetCode(有中文) 力扣(LeetCode)源自美国硅谷,是领扣网络旗下专注于程序员技术成长和企业技术人才服务的品牌.已经成为程序员找工作前必刷的网址 ...

  7. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  8. Java并发编程原理与实战六:主线程等待子线程解决方案

    Java并发编程原理与实战六:主线程等待子线程解决方案 参考文章: (1)Java并发编程原理与实战六:主线程等待子线程解决方案 (2)https://www.cnblogs.com/pony1223 ...

  9. 2017年最受欢迎的10个编程挑战网站

    译者注:如果你想不断地提高自己的编程技能,那么不断尝试去解决那些编程中的难题,这是一个非常不错的途径.作者在本篇文章中列举出了10个编程挑战网站,你想尝试一下吗?以下为译文. 如果你正在在学习编程,那 ...

最新文章

  1. 微软招聘研究实习生,base美国or加拿大
  2. 语音助手再次敲响隐私保护警钟
  3. Reddit引入Envoy支持架构改造,性能显著提升
  4. JavaWeb:JDBC之数据库连接池
  5. Go三种方式创建赋值map
  6. Window.navigator
  7. List与逗号分隔的字符串相互转换
  8. P2408- 不同子串个数【SA】
  9. matlab 聚类 源程序,聚类——KFCM的matlab程序
  10. IntelliJ IDEA 2014 付费版 免费版比较
  11. javaExcel数据导出
  12. 弹出启动windows安全中心服务器,Win10每次开机都弹出启用Windows安全中心服务怎么办?...
  13. 利用python进行假设假设检验
  14. 远程计算机如果关机咋办,远程界面不小心关机
  15. 异常解决——Failed to introspect Class [com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration]
  16. 小心肝队-冲刺日志(第六天)
  17. 2016-6-2-第二个sprint
  18. 环卫事业编2000工资,为何本科生抢着干?这3点好处,他们不会说
  19. Java技术:汉字转拼音码
  20. 美国bluehost虚拟主机怎么样?bluehost主机详细评测!

热门文章

  1. 解决“无法定位程序输入点于动态链接库XX.DLL上”的方法
  2. 天宝MN18 amd4800h mini主机 到手测试
  3. BSV 智能合约入门(4)- sCrypt 合约实战篇 - P2PKH 合约化
  4. uniapp实战——实现导航的基本结构
  5. MongoDB分布式集群架构(3种模式)
  6. 关于使用一个5升容器和一个6升容器量出3升水的一点解决办法
  7. 移动端常见布局方式(流式布局、flex弹性布局、less+rem+媒体查询、Bootstrap)
  8. 七年级计算机教案万能稿,七年级信息技术 《制作演示文稿》教案
  9. 各种支付方式的比较与评价
  10. 灵活用工平台有哪些?从事灵活用工岗位靠谱吗?