关注
//与楼主两点不同: 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;
}
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 这个offer值得去吗? #
31835次浏览 231人参与
# 校招薪资来揭秘 #
960649次浏览 4062人参与
# 在爱玛,骑向未来 #
20402次浏览 395人参与
# 如果春招能重来,我会___ #
29460次浏览 296人参与
# 24秋招避雷总结 #
1020058次浏览 7098人参与
# 你会因为行情,降低找工作标准吗? #
45228次浏览 328人参与
# 机械人还在等华为开奖吗? #
339222次浏览 1652人参与
# 米哈游求职进展汇总 #
688662次浏览 3348人参与
# 华为池子有多大 #
178092次浏览 931人参与
# 26届春招投递记录 #
8678次浏览 72人参与
# 25届网易互娱暑实进度 #
109109次浏览 802人参与
# 通信/硬件求职避坑tips #
172058次浏览 1170人参与
# 记录我的毕业季 #
4679次浏览 118人参与
# 机械人,你的秋招第一份简历被谁挂了 #
268769次浏览 2450人参与
# 远程面试的尴尬瞬间 #
363865次浏览 2062人参与
# 大学最后一个寒假,我想…… #
103304次浏览 846人参与
# 机械求职避坑tips #
103683次浏览 589人参与
# 你认为小厂实习有用吗? #
145061次浏览 762人参与
# 运营商笔面经互助 #
219644次浏览 1833人参与
# 美团秋招笔试 #
216404次浏览 1192人参与
# 网易求职进展汇总 #
213162次浏览 1524人参与
查看27道真题和解析