2024年华为OD机试真题-求最多可以派出多少支团队
华为OD机试真题-求最多可以派出多少支团队-2024年OD统一考试(D卷)
题目描述:
用数组代表每个人的能力,一个比赛活动要求参赛团队的最低能力值为N,每个团队可以由1人或2人组成,且1个人只能参加1个团队,请计算出最多可以派出多少支符合要求的团队?
输入描述:
5
3 1 5 7 9
8
第一行数组代表总人数,范围[1,500000]
第二行数组代表每个人的能力,每个元素的取值范围[1, 500000],数组的大小范围[1,500000]
第三行数值为团队要求的最低能力值,范围[1, 500000]
输出描述:
3
最多可以派出的团队数量
补充说明:
示例1
输入:
5
3 1 5 7 9
8
输出:
3
说明:
3,5组成一队,1,7组成一队,9自己一个队,故输出3
解题思路:
循环+逻辑处理。
c++解法:
#include <iostream> using namespace std; #include <string> #include <vector> #include <algorithm> int main() { int n; cin >> n; vector<int> v; for (int i = 0; i < n; i++) { int num; cin >> num; v.push_back(num); } int val; cin >> val; sort(v.begin(), v.end()); int count = 0; int ret = 0; for (int i = v.size() - 1; i >= 0; i--) { if (v[i] == 0) continue; if (v[i] >= val) { count++; } else {
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
华为OD机试题库2024年 文章被收录于专栏
2024年OD统一考试(D卷),最新最完整题库。 收录130+道真题,提供解题思路,Java/Python/C++三种答案源码。