关注
//与楼主两点不同: 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;
}
查看原帖
点赞 评论
相关推荐
牛客热帖
正在热议
# 25届秋招总结 #
236491次浏览 1933人参与
# 学历or实习经历,哪个更重要 #
40092次浏览 292人参与
# 北方华创开奖 #
22096次浏览 251人参与
# 地方国企笔面经互助 #
2387次浏览 6人参与
# 应届生被毁约被毁意向了怎么办 #
25822次浏览 235人参与
# 选完offer后,你后悔学本专业吗 #
8485次浏览 55人参与
# 机械应届生薪资要多少才合适? #
12196次浏览 59人参与
# 你最想要的公司福利是? #
38201次浏览 78人参与
# 查收我的offer竞争力报告 #
15292次浏览 209人参与
# 一觉醒来,我觉醒了超级打工人系统 #
2602次浏览 32人参与
# 没有实习经历,还有机会进大厂吗 #
804060次浏览 13792人参与
# 你觉得第一学历对求职有影响吗? #
14735次浏览 121人参与
# 我的工作日记 #
20869次浏览 269人参与
# 寒假躺平还是提前实习 #
57711次浏览 424人参与
# 秋招被确诊为…… #
52099次浏览 291人参与
# 总结:哪家公司面试体验感最差 #
24899次浏览 121人参与
# 公司情报交流地 #
31402次浏览 222人参与
# 不给转正的实习,你还去吗 #
1515010次浏览 16955人参与
# 00后45度躺现状 #
38155次浏览 310人参与
# 机械人,签完三方你在忙什么? #
23599次浏览 123人参与
# 实习,投递多份简历没人回复怎么办 #
2386354次浏览 34244人参与