关注
//与楼主两点不同: 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;
}
查看原帖
点赞 评论
相关推荐
07-07 14:03
安徽大学 Java 点赞 评论 收藏
分享
06-09 11:12
重庆移通学院 运营 不要停下啊:大二打开牛客,你有机会开卷了,卷起来
,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会
,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
06-26 22:13
华北理工大学 人力资源专员/助理 
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习生的蛐蛐区 #
56453次浏览 419人参与
# 运营面经 #
115830次浏览 1251人参与
# 你认为小厂实习有用吗? #
21572次浏览 254人参与
# 三一重工求职进展汇总 #
13521次浏览 62人参与
# 应届生,你找到工作了吗 #
21789次浏览 154人参与
# 说说你知道的学历厂 #
40614次浏览 248人参与
# 你的领导最像哪种动物,为什么? #
14603次浏览 107人参与
# 材料人,你们签了哪个公司 #
7558次浏览 18人参与
# 哪一瞬间觉得自己长大了 #
10451次浏览 233人参与
# 计算机有哪些岗位值得去? #
17433次浏览 161人参与
# 面试尴尬现场 #
33450次浏览 224人参与
# 你找工作的时候用AI吗? #
19381次浏览 237人参与
# 下班后的时间你怎么安排 #
10629次浏览 145人参与
# 烟草笔面经互助 #
17886次浏览 184人参与
# 硬件人秋招的第一个offer #
80242次浏览 1154人参与
# 秋招最大的收获是什么? #
36156次浏览 309人参与
# 社会教会你的第一课 #
37640次浏览 470人参与
# 电网笔面经互助 #
36962次浏览 359人参与
# lastday知无不言 #
58457次浏览 475人参与
# 中核求职进展汇总 #
20801次浏览 153人参与