关注
//与楼主两点不同: 1.multimap改为multiset
//2.存储就餐人数、消费额时用vector,v[0]是消费额,v[1]是消费人数
//之所以消费额放前面就是为了排序时以消费额为准,这样不再需要自定义结构体和比较函数
//昨晚没想起来用multiset,更没想起来用其成员函数lower_bound,只是从头到尾搜索,也没用long long,结果50%
#include<iostream>
#include<vector>
#include<algorithm>
#include<set>
using namespace std;
int main()
{
int n , m, x, y;
cin >> n >> m;
multiset<int> table;
for(int i = 0; i < n; ++i)
{
cin >> x;
table.insert(x);
}
vector<vector<int> > guest;
for(int i = 0; i < m; ++i)
{
cin >> x >> y;
guest.push_back({y, x}); //x:人数 y:消费额,y放vector的前面,排序时以消费额为准
}
sort(guest.begin(),guest.end(), greater<vector<int> >());
long long maxValue = 0;
for(int i = 0; i < m && !table.empty(); ++i)
{
auto it = table.lower_bound(guest[i][1]); //guest[i][1]就餐人数
if(it != table.end())
{
maxValue += guest[i][0]; //guest[i][0]消费额
table.erase(it);
}
}
cout << maxValue <<endl;
return 0;
}
查看原帖
点赞 评论
相关推荐
10-12 19:23
重庆邮电大学 Java
敢逐云霄志:你打招呼语怎么能这么长,hr都没看下去的欲望,简明扼要说重点,就读于某某学校某某专业,26届应届毕业生,学信网可查,先后在某某公司实习过(如有),然后做过什么项目,想找一份什么样的工作,可实习几个月以上,期待您的回复。 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# HR问:你期望的薪资是多少?如何回答 #
67594次浏览 653人参与
# 我和mentor的爱恨情仇 #
78220次浏览 431人参与
# “vivo”个offer #
42230次浏览 289人参与
# 打工人的精神状态 #
98923次浏览 1291人参与
# 被同事甩锅了怎么办 #
24490次浏览 100人参与
# 你见过哪些工贼行为 #
29374次浏览 142人参与
# 一人一个landing小技巧 #
125957次浏览 1457人参与
# 你的秋招第一场笔试是哪家 #
259118次浏览 2026人参与
# 满帮集团求职进展汇总 #
6992次浏览 68人参与
# 考研失败就一定是坏事吗? #
149966次浏览 1081人参与
# vivo工作体验 #
29536次浏览 125人参与
# 和mentor 1on1 都聊什么? #
2620次浏览 21人参与
# 哪一瞬间觉得自己长大了 #
39830次浏览 494人参与
# 上班后和你想的一样吗? #
88374次浏览 671人参与
# 校招生月薪1W算什么水平 #
44170次浏览 238人参与
# 实习吐槽大会 #
386996次浏览 2156人参与
# 如何准备秋招 #
64966次浏览 830人参与
# 你想留在一线还是回老家? #
63048次浏览 537人参与
# 工作后明白的那些道理 #
23242次浏览 225人参与
# 数字马力求职进展汇总 #
207125次浏览 1636人参与
# 我是面试官,请用一句话让我破防 #
29416次浏览 133人参与

