关注
//与楼主两点不同: 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;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招 / 实习投递,你最焦虑的一件事 #
5229次浏览 70人参与
# HR问:你期望的薪资是多少?如何回答 #
80159次浏览 680人参与
# 神州信息求职进展汇总 #
4729次浏览 74人参与
# 今年找实习到底有多难? #
2760次浏览 31人参与
# 27届求职交流 #
21742次浏览 431人参与
# 今天你投了哪些公司? #
3950次浏览 101人参与
# 26届求职交流 #
10951次浏览 294人参与
# 工作丧失热情的瞬间 #
366774次浏览 2557人参与
# 快手求职进展汇总 #
737705次浏览 7115人参与
# 双非能在秋招上岸吗? #
378304次浏览 1875人参与
# 国企/银行/研究所公司爆料 #
195198次浏览 900人参与
# 三月的小目标 #
31961次浏览 598人参与
# 实习要如何选择和准备? #
147893次浏览 1569人参与
# 交出你的校招焚诀 #
22533次浏览 338人参与
# 听劝,这个公司值得去吗 #
678940次浏览 2000人参与
# 求职遇到的搞笑事件 #
165387次浏览 902人参与
# 面试___岗的必刷题单 #
25163次浏览 459人参与
# 哪些公司开暑期实习了? #
41201次浏览 331人参与
# 面试中,你被问过哪些奇葩问题? #
89097次浏览 851人参与
# 你觉得mentor喜欢什么样的实习生 #
51839次浏览 1011人参与
# 24秋招避雷总结 #
954082次浏览 7052人参与