关注
#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%,思路应该没问题,我觉得应该是超时了。求大神指点。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 去年的flag与今年的小目标 #
1959次浏览 61人参与
# 应届生应该先就业还是先择业 #
160789次浏览 810人参与
# 26年哪些行业会变好/更差 #
2809次浏览 49人参与
# 哪些公司在招寒假实习? #
1414次浏览 26人参与
# 你都用AI做什么 #
2053次浏览 57人参与
# 卷__卷不过你们,只能卷__了 #
1220次浏览 27人参与
# 有深度的简历长什么样? #
5181次浏览 98人参与
# 写论文的崩溃时刻 #
1402次浏览 31人参与
# 入职第一天 #
4192次浏览 48人参与
# 秋招你被哪家公司挂了? #
998846次浏览 7663人参与
# 这个工作能去吗 #
99533次浏览 614人参与
# 一人分享一道面试手撕题 #
8045次浏览 423人参与
# 你不能接受的企业文化有哪些 #
2604次浏览 55人参与
# 为什么国企只招应届生 #
227651次浏览 1273人参与
# 研究所VS国企,该如何选 #
236801次浏览 1965人参与
# 跳槽时有那些注意事项 #
117507次浏览 585人参与
# 小米求职进展汇总 #
998103次浏览 6501人参与
# 机械应届生薪资要多少才合适? #
35388次浏览 106人参与
# 机械人的薪资开到多少,才适合去? #
158295次浏览 553人参与
# 非技术岗薪资爆料 #
471001次浏览 3015人参与
