关注
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
bool cmp(int a, int b)
{
return a > b;
}
bool cmp1(vector<int>a, vector<int>b)
{
return a[0] > b[0];
}
int main()
{
int n, m;
while (cin >> n >> m)
{
vector<int>a(m); //糖的能量值
for (int i = 0; i < m; i++)
cin >> a[i];
vector<vector<int>>b(n,vector<int>(2)); //存储小熊的战斗力和饥饿值
for (int i = 0; i < n; i++)
{
for (int j = 0; j < 2; j++)
{
cin >> b[i][j];
}
}
sort(a.begin(), a.end(),cmp);
vector<vector<int>>b1(b.begin(), b.end());
sort(b1.begin(), b1.end(), cmp1);
vector<int>flag(m, 0);
vector<int>res(n,0); //存储小熊剩余饥饿值
for (int i = 0; i < n; i++)
{
int j = 0;
int tmp = b1[i][1];
while (j < m)
{
if (a[j] <= tmp && !flag[j])
{
tmp = tmp - a[j];
flag[j] = 1;
}
j++;
}
res[i]=tmp;
}
for (int i = 0; i < n; i++) //输出
{
int t = b[i][0];
for (int j = 0; j < n; j++)
{
if (b[j][0] == t)
{
cout << res[j] << endl;
break;
}
}
}
}
}
不知道为什么只通过了40%,思路应该没问题,我觉得应该是超时了。求大神指点。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
25410次浏览 437人参与
# 面试经验谈 #
16360次浏览 263人参与
# 京东TGT #
32040次浏览 153人参与
# 假如我穿越到了妈妈的18岁 #
575次浏览 25人参与
# 对妈妈没说出口的话 #
9247次浏览 256人参与
# 面试吐槽bot #
3284次浏览 42人参与
# 职场新人生存指南 #
335756次浏览 7200人参与
# 妈妈治愈了你哪些脆皮时刻 #
3768次浏览 92人参与
# 异地恋该为对方跳槽吗 #
25118次浏览 123人参与
# 硬件人更看重稳定还是高薪 #
40217次浏览 207人参与
# 请用你的专业向妈妈表白 #
2445次浏览 39人参与
# 硬件人秋招的第一个offer #
66237次浏览 1082人参与
# 机械求职避坑tips #
41674次浏览 355人参与
# 工作一周年分享 #
14404次浏览 100人参与
# 入职第五天,你被拉进了几个工作群 #
13458次浏览 77人参与
# 机械人,你的第一份感谢信是谁给的 #
22567次浏览 295人参与
# 视觉/交互/设计招聘信息汇总 #
10053次浏览 595人参与
# 租房找室友 #
28856次浏览 148人参与
# 不考虑转正,实习多久合适 #
24845次浏览 119人参与
# 签约有哪些注意事项 #
33764次浏览 241人参与
# 上班苦还是上学苦呢? #
214119次浏览 1288人参与