关注
//与楼主两点不同: 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;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 写给毕业5年后的自己 #
6224次浏览 118人参与
# 你的秋招第一场笔试是哪家 #
128086次浏览 1394人参与
# 华泰证券Fintech星战营 #
189288次浏览 246人参与
# 职场捅娄子大赛 #
329946次浏览 3332人参与
# 今年形式下双非本找得到工作吗 #
132181次浏览 1002人参与
# 一人一个landing小技巧 #
63512次浏览 991人参与
# 材料专业就业可以去哪些企业岗位 #
32673次浏览 314人参与
# 硬件应届生薪资是否普遍偏低? #
69978次浏览 506人参与
# 机械人的薪资开到多少,才适合去? #
107534次浏览 445人参与
# 你的论文盲审过了没? #
102947次浏览 1468人参与
# 国央企笔面经互助 #
130353次浏览 1083人参与
# 制造业的秋招小结 #
87900次浏览 1605人参与
# 毕业季等于分手季吗 #
21309次浏览 272人参与
# 哪些公司笔/面试难度大? #
2326次浏览 19人参与
# 机械制造秋招总结 #
51008次浏览 494人参与
# 计算机专业还有必要去大厂卷吗 #
22144次浏览 115人参与
# 好好告别我的学生时代 #
55250次浏览 973人参与
# 毕业后不工作的日子里我在做什么 #
173381次浏览 1524人参与
# 如果再来一次,你还会学硬件吗 #
123002次浏览 1400人参与
# 毕业租房也有小确幸 #
110741次浏览 4338人参与
# 海信求职进展汇总 #
65885次浏览 363人参与