【华为OD机试真题 C++】快递运输 【2022 Q4 | 100分】
前言
■ 题目描述
【快递运输】
运送的快递放在大小不等的长方体快递盒中,为了能够装载更多的快递同时不能让货车超载,需要计算最多能装多少个快递。
注:快递的体积不受限制
快递数最多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 == 
) 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;
}
				       
			          