2383.赢得比赛需要的最少训练时长
链接:2383.赢得比赛需要的最少训练时长
难度:Easy
标签:贪心、数组
简介:返回击败全部 n 个对手需要训练的 最少 小时数目。
题解 1 - cpp
- 编辑时间:2023-03-13
- 内存消耗:10.9MB
- 编程语言:cpp
- 解法介绍:遍历。
class Solution {
public:
int minNumberOfHours(int initialEnergy, int initialExperience, vector<int>& energy, vector<int>& experience) {
int res = 0, esum = initialExperience;
res += max(accumulate(energy.begin(), energy.end(), 0) - initialEnergy + 1, 0);
for (auto &e : experience) {
if (e >= esum) res += e - esum + 1, esum += e - esum + 1;
esum += e;
}
return res;
}
};