关注
这个是我的代码, 也不知道怎么错. 同求高人指点.
#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;
}
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 实习生的蛐蛐区 #
45956次浏览 356人参与
# 夸夸我的求职搭子 #
199788次浏览 1917人参与
# 你认为小厂实习有用吗? #
16890次浏览 211人参与
# 三一重工求职进展汇总 #
13001次浏览 60人参与
# 应届生,你找到工作了吗 #
19337次浏览 144人参与
# 硬件应届生薪资是否普遍偏低? #
75043次浏览 518人参与
# 说说你知道的学历厂 #
32177次浏览 190人参与
# 计算机有哪些岗位值得去? #
14881次浏览 142人参与
# 下班后的时间你怎么安排 #
8835次浏览 129人参与
# 材料人,你们签了哪个公司 #
7169次浏览 17人参与
# 你找工作的时候用AI吗? #
16369次浏览 208人参与
# 面试尴尬现场 #
27727次浏览 187人参与
# 哪一瞬间觉得自己长大了 #
8134次浏览 183人参与
# 在职场上,你最讨厌什么样的同事 #
14900次浏览 151人参与
# 社会教会你的第一课 #
32110次浏览 420人参与
# 中核求职进展汇总 #
20491次浏览 152人参与
# 电网笔面经互助 #
36502次浏览 354人参与
# 简历当中有水分算不算造假? #
25839次浏览 380人参与
# 神州信息工作体验 #
16395次浏览 75人参与
# 学历贬值真的很严重吗? #
22250次浏览 162人参与