我是靠谱客的博主 无限白云,最近开发中收集的这篇文章主要介绍【华为OD机试真题 C++】快递运输 【2022 Q4 | 100分】,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

《华为OD机试真题 C++》 本专栏包含华为OD机试真题C++解答,会实时更新收纳网友反馈,为大家更新最新的华为德科OD机试试题,为大家提供学习和练手的题库,订阅本专栏后可私信进交流群哦,答案仅供参考,不可照抄哦

题目描述

【快递运输】

运送的快递放在大小不等的长方体快递盒中,为了能够装载更多的快递同时不能让货车超载,需要计算最多能装多少个快递。

注:快递的体积不受限制

快递数最多1000个

货车载重最大50000

输入描述

第一行输入每个快递的重量

用英文逗号隔开

如 5,10,2,11

第二行输入货车的载重量

如 20

输出描述

输出最多能装多少个快递

如 3

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

5,10,2,11

20

输出

3

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<int> nums;
void getNums(vector<int> &nums)
{
char ch;
int x = 0;
while (true) {
ch = getchar();
if (isdigit(ch)) {
x = (x << 3 + x << 1) + (ch - '0');
} else {
nums.emplace_back(x);
x = 0;
if (ch == 'n') return;
}
}
}
int main()
{
getNums(nums);
int limits;
std::cin >> limits;
ll sum = 0;
ll count = 0;
sort(nums.begin(), nums.end());
for (int i = 0; i < nums.size() - 1; i++) {
sum += nums[i];
count++;
if (sum > limits) break;
}
std::cout << count << endl;
return 0;
}

最后

以上就是无限白云为你收集整理的【华为OD机试真题 C++】快递运输 【2022 Q4 | 100分】的全部内容,希望文章能够帮你解决【华为OD机试真题 C++】快递运输 【2022 Q4 | 100分】所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部