C++ 优化按摩排队:最大化不失望顾客数量(无 vector)
"思路:\n1. 将人员按照服务时间从小到大排序。\n2. 遍历排序后的人员列表,计算每个人等待的总时间。\n3. 如果等待总时间大于等于当前人的服务时间,则不会失望,将不失望人数加1。\n4. 输出不失望人数。\n\n代码实现如下:\n\n#include "iostream"\n#include "algorithm"\n\nusing namespace std;\n\nint main() {\n int n;\n cin >> n;\n \n int* t = new int[n];\n for (int i = 0; i < n; i++) {\n cin >> t[i];\n }\n \n sort(t, t + n);\n \n int totalWaitTime = 0;\n int numNotDisappointed = 0;\n for (int i = 0; i < n; i++) {\n if (totalWaitTime <= t[i]) {\n totalWaitTime += t[i];\n numNotDisappointed++;\n }\n }\n \n cout << numNotDisappointed << endl;\n \n delete[] t;\n \n return 0;\n}
原文地址: https://www.cveoy.top/t/topic/pQLc 著作权归作者所有。请勿转载和采集!