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++三种答案源码。

全部评论
哈哈,机考遇到了这道原题
点赞
送花
回复 分享
发布于 06-30 09:01 江苏
学到了
点赞
送花
回复 分享
发布于 06-30 18:39 江苏
秋招专场
校招火热招聘中
官网直投

相关推荐

5 7 评论
分享
牛客网
牛客企业服务