关注
这个是我的代码, 也不知道怎么错. 同求高人指点.
#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;
}
查看原帖
点赞 评论
相关推荐
求求给个offer我...:一群老登,当初自己是怎么进去的没点数吗?当初自己可能连C++都不会写就进去了吧?现在对候选人挑三拣四地选妃 点赞 评论 收藏
分享
10-19 15:33
蚌埠坦克学院 算法工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 职场中那些令人叹为观止的八卦 #
12435次浏览 156人参与
# 你找工作想离家近 or 离家远? #
9000次浏览 164人参与
# 腾讯音乐秋招 #
423484次浏览 4741人参与
# 我的职场社死时刻 #
10068次浏览 107人参与
# 如何拒绝/反向PUA #
83214次浏览 372人参与
# 你父母给过你哪些不靠谱的职场建议? #
8607次浏览 138人参与
# 小红书开奖了 #
20166次浏览 112人参与
# 秋招吐槽大会 #
48937次浏览 435人参与
# 哪些公司开始补录了 #
10092次浏览 119人参与
# 那些年,我收到的‘奇葩’回复 #
5814次浏览 59人参与
# 职场中对你有帮助的书 #
23619次浏览 213人参与
# 你秋招最后悔的选择 #
8681次浏览 69人参与
# 租房前辈的忠告 #
274817次浏览 7199人参与
# XX请雇我工作 #
7387次浏览 73人参与
# 秋招你经历过哪些无语的事 #
5641次浏览 60人参与
# 月薪多少能在一线城市生存 #
93564次浏览 677人参与
# 假如你的老板掉河里,你的工作能为他做什么 #
40084次浏览 402人参与
# 通信硬件知识分享 #
39541次浏览 527人参与
# 你觉得机械有必要实习吗 #
66995次浏览 481人参与
# 交通银行工作体验 #
21191次浏览 69人参与
# 中科曙光工作体验 #
5523次浏览 23人参与
# 秋招疯了,看什么都像offer #
8939次浏览 99人参与