文章目录

  • 1. 题目
  • 2. 解题

1. 题目

小美的一个兼职是美团的一名跑腿代购员,她有 n 个订单可以接,订单编号是 1~n ,
但是因为订单的时效性,他只能选择其中 m 个订单接取,精明的小美当然希望自己总的获利是最大的,
已知,一份订单会提供以下信息,跑腿价格 v ,商品重量 w kg,
商品每重 1kg ,代购费用要加 2 元,而一份订单可以赚到的钱是跑腿价格和重量加价之和。
小美可是开兰博基尼送货的人,所以自然不会在意自己会累这种事情。
请问小美应该选择哪些订单,使得自己获得的钱最多
请你按照选择的订单编号的从小到大顺序,如果存在多种方案,输出订单编号字典序较小的方案。

格式:输入:
- 输入第一行包含两个正整数 n,m,表示订单的数量和小美可以接的订单数量。
- 接下来有 n 行,第 i 行表示 i-1 号订单的信息。每行有两个正整数 v 和 w  ,表示一个订单的跑腿价格和商品重量。
输出:
- 输出包含 m 个 1~n 之间的正整数,中间用空格隔开,表示选择的订单编号。示例:
输入:5 25 108 91 47 96 10
输出:2 5提示:
1 <= n, m <= 10000
1 <= v, w <= 1000
请注意,本题需要自行编写「标准输入」和「标准输出」逻辑,
以及自行 import/include 需要的 library。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/GXV5dX
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

#include<bits/stdc++.h>
using namespace std;
int main()
{int m,n,v,w,i=0;cin >> n >> m;vector<pair<int,int>> arr(n);while(n--){cin >> v >> w;arr[i] = {v+2*w, i+1};//获利,编号i++;}sort(arr.begin(), arr.end(),[&](auto a, auto b){if(a.first == b.first)return a.second < b.second;return a.first > b.first;//价格大的优先,标号小的优先});sort(arr.begin(), arr.begin()+m,[&](auto a, auto b){return a.second < b.second;//前m个,按编号排序});i = 0;while(m--){cout << arr[i].second << " ";i++;//输出编号}return 0;
}

24 ms 3.3 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode meituan-003. 小美的跑腿代购(排序)相关推荐

  1. <笔试> 小美的跑腿代购 堆排序heapq的使用

    链接:小美的跑腿代购_美团笔试题_牛客网 来源:牛客网 小美有n个订单可以接,订单编号是1~n,但是因为订单的时效性,他只能选择其中m个订单接取,精明的小美希望自己获利是最大,已知,一份订单会提供以下 ...

  2. 小美的跑腿代购 / 小团的神秘暗号(c++)

    小美的跑腿代购,注意二维数组的输入,并且输出是需要从小到大排好序. #include<bits/stdc++.h> using namespace std;bool compare1(ve ...

  3. 2021-09-06meituan-003.小美的跑腿代购

    #include <iostream> #include <cstring> #include <algorithm> #include <cassert&g ...

  4. [附源码]计算机毕业设计Python+uniapp基于安卓的校园跑腿代购476ww(程序+lw+APP+远程部署)

    [附源码]计算机毕业设计Python+uniapp基于安卓的校园跑腿代购476ww(程序+lw+APP+远程部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置: ...

  5. 【附源码】计算机毕业设计Python安卓基于安卓的校园跑腿代购476ww(源码+程序+LW+调试部署)

    [附源码]计算机毕业设计Python安卓基于安卓的校园跑腿代购476ww(源码+程序+LW+调试部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置: Python ...

  6. [算法]LeetCode 专题 -- 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置

    LeetCode 专题 – 二分查找专题 34. 在排序数组中查找元素的第一个和最后一个位置 难度:中等 题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值 ...

  7. java计算机毕业设计基于安卓Android的校园跑腿代购app

    项目介绍  网络的广泛应用给生活带来了十分的便利.所以把基于安卓的校园跑腿代购与现在网络相结合,利用java技术建设基于安卓的校园跑腿代购APP,实现基于安卓的校园跑腿代购的信息化.则对于进一步提高基 ...

  8. java计算机毕业设计基于安卓Android/微信小程序的校园跑腿代购 uni-app

    网络的广泛应用给生活带来了十分的便利.所以把基于安卓的校园跑腿代购与现在网络相结合,利用java技术建设基于安卓的校园跑腿代购APP,实现基于安卓的校园跑腿代购的信息化.则对于进一步提高基于安卓的校园 ...

  9. LeetCode简单题之数组的相对排序

    题目 给你两个数组,arr1 和 arr2,arr2 中的元素各不相同,arr2 中的每个元素都出现在 arr1 中. 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相 ...

最新文章

  1. CSU1632Repeated Substrings(后缀数组/最长公共前缀)
  2. 架设nagios+rrdtool+pnp4nagios监控windows主机
  3. Flutter学习记录(三、Flutter项目学习navBar的使用)
  4. 三星出售比亚迪1.6%股份,价值约1.5万亿韩元
  5. 基于局部敏感哈希的协同过滤算法之simHash算法
  6. aws lambda_AWS API Gateway和AWS Lambda示例
  7. 【4】求最大奇数公约数
  8. Nginx源码分析 - Event事件篇 - Epoll事件模块(19)
  9. CSS你可以不写,但这些规范必须要知道!
  10. [Surface] 在win8.1上使用QQ截图放大问题(解决办法)
  11. 深度学习Tir-Hi3559A使用unbuntu系统
  12. 收藏 | 江苏省各地教师公务员等实际工资爆料
  13. HTML CSS 学习笔记
  14. linux怎么编译ipa,如何使用XCode 4创建ipa文件及提交应用程序
  15. js使用slice函数拆分数组
  16. 绿盟漏扫使用手册_【技术干货】Oracle数据库漏洞扫描指南
  17. Linux与TPM2芯片
  18. 设计模式之六大原则(实现部分)
  19. python2 unicode_python2 中列表中unicode转换为输出中文
  20. 4个免费的临时邮箱,保证可用,持续更新

热门文章

  1. python中continue只结束本次循环_循环(while,break,continue),转义字符
  2. c++ 测试串口速率_纳米软件案例之电流控制测试系统
  3. 【深度学习】Win10安装TensorFlow_gpu(避坑必看)
  4. linux如何建立隐藏目录,【Linux】文件与目录的默认权限与隐藏权限
  5. C中关于存储类的理解
  6. ios 后台下载,断点续传总结
  7. Uoj 441 保卫王国
  8. Angular CLI的简单使用(1)
  9. c#调api串口通讯
  10. 利用云计算打造政务信息化及应急指挥云平台