关注
这个是我的代码, 也不知道怎么错. 同求高人指点.
#include <iostream> #include <algorithm> #include <set> #include <vector> #include <stack> #include <set> #include <list> #include <bitset> #include <cstring> using namespace std; struct Bear { int fight; int hungry;
}; int find_h(vector<Bear>& bears) { int i = 0; int h = -1; int idx = -1; while (i < bears.size()) { if (bears[i].hungry <= 0) {
i++; continue;
} if (h < bears[i].hungry) {
h = bears[i].hungry;
idx = i;
}
i++;
} return idx;
} void bear_eat(vector<Bear> &bears, int idx, vector<int>& suguars) { for (int i = suguars.size() - 1; i >= 0; i--) { if (suguars[i] == -1) continue; else if( suguars[i] > bears[idx].hungry) continue; else {
bears[idx].hungry -= suguars[i];
suguars[i] = -1; break;
}
}
} bool can_eat(vector<Bear> &bears, vector<int> &suguars) { vector<int> hs; for (int i = 0; i < bears.size(); i++) { if (bears[i].hungry > 0) {
hs.push_back(bears[i].hungry);
}
} for (int i = 0; i < suguars.size(); i++) { if (suguars[i] > 0) for (auto& h: hs) if (suguars[i] <= h) return true;
} return false;
} void hdl(vector<Bear>& bears, vector<int>& suguars) {
sort(suguars.begin(), suguars.end()); while (can_eat(bears, suguars)) { int most_h = find_h(bears); if (most_h == -1) break;
bear_eat(bears, most_h, suguars);
}
} int main() { int n, m;
cin >> n >> m; vector<int> suguars; for (int i = 0; i < m; i++) { int tmp;
cin >> tmp;
suguars.push_back(tmp);
} vector<Bear> bears; for (int i = 0; i < n; i++) { int f = 0, h = 0;
cin >> f >> h;
bears.push_back({f, h});
}
hdl(bears, suguars); for (int i = 0; i < bears.size() - 1; i++)
cout << bears[i].hungry << endl;
cout << bears[bears.size() - 1].hungry; return 0;
}
查看原帖
点赞 评论
相关推荐
10-24 11:10
山西大学 Java 点赞 评论 收藏
分享
out11Man:四小时,恐怖如斯。大佬加油
查看25道真题和解析
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
276539次浏览 2380人参与
# 如果实习可以转正,你会不会放弃秋招 #
205851次浏览 2805人参与
# 北方华创开奖 #
24350次浏览 262人参与
# 地方国企笔面经互助 #
3208次浏览 7人参与
# 学历or实习经历,哪个更重要 #
46891次浏览 366人参与
# 选完offer后,你后悔学本专业吗 #
16211次浏览 120人参与
# 如何一边实习一边秋招 #
988834次浏览 12620人参与
# 软开人,秋招你打算投哪些公司呢 #
41361次浏览 533人参与
# 数据人的面试交流地 #
436127次浏览 7810人参与
# 0offer是寒冬太冷还是我太菜 #
891962次浏览 7956人参与
# 得物求职进展汇总 #
64647次浏览 673人参与
# 求职遇到的搞笑事件 #
68916次浏览 570人参与
# 你觉得专业和学校哪个对薪资影响最大 #
28818次浏览 215人参与
# 查收我的offer竞争力报告 #
21055次浏览 262人参与
# 你最想要的公司福利是? #
43170次浏览 158人参与
# 没有实习经历,还有机会进大厂吗 #
808550次浏览 13875人参与
# 来聊聊机械薪资天花板是哪家 #
67244次浏览 456人参与
# 当你面对裁员会如何? #
26458次浏览 154人参与
# 一觉醒来,我觉醒了超级打工人系统 #
3550次浏览 37人参与
# 应届生被毁约被毁意向了怎么办 #
28751次浏览 244人参与
# 面试体验感最好的是哪家? #
84090次浏览 821人参与