丝路新程的共享单车调度车需要在电量耗尽前服务尽可能多的站点。每个站点有服务耗电量 e[i] ,调度车总电量为 E=20 。以下贪心策略(优先服务耗电少的)选出的站点数量是多少?
int e[] = {0, 8, 3, 5, 9, 2}; // 站点1-5的耗电量
int main() {
int E = 20, count = 0;
// 假设已按e[i]升序排序:2, 3, 5, 8, 9
for (int i = 5; i >= 1; i--) { // 代码逻辑有陷阱,请仔细看
if (E >= e[i]) {
E -= e[i];
count++;
}
}
cout << count;
return 0;
}
3
4
5
2