快递运输
【快递运输】
一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,为了能够装载更多的快递,同时不能让货车超载,需要计算最多能装多少个快递。
#笔试题目#
一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,为了能够装载更多的快递,同时不能让货车超载,需要计算最多能装多少个快递。
注:快递的体积不受限制,快递数最多1000个,货车载重最大50000。
输入描述:
第一行输入每个快递的重量,用英文逗号分隔,如:5,10,2,11
第二行输入货车的载重量,如:20
不需要考虑异常输入。
输出描述:
输出最多能装多少个快递,如:3
示例1:
输入
5,10,2,11
20
输出
3
#include <iostream> #include <sstream> #include <algorithm> #include <string> #include <vector> using namespace std; vector<int> splitString(string &str, char flag) { vector<int> result; istringstream floatStr(str); string temp; while (getline(floatStr, temp, flag)) { result.push_back(stoi(temp)); } return result; } int main() { string str = ""; cin >> str; int weight = 0; cin >> weight; vector<int> result = splitString(str, ','); sort(result.begin(),result.end()); int sum = 0; int res = 0; for (size_t i = 0; i < result.size(); i++) { sum += result[i]; if (sum <= weight) { res++; continue; } break; } cout << res; return 0; }