您是一位顶尖的云计算工程师,负责为一个客户在数据中心部署一组高性能计算服务。 您拥有一台物理服务器,但这台服务器的总功耗预算是有限的。 现在,您需要从一系列待选服务中,挑选出一个最优的组合进行部署,以在满足功耗限制的前提下,实现最大的计算价值。 现有 个待部署的计算服务,按 到 升序编号,服务器的总功耗预算为 。 对于每个服务 ,我们有两个关键指标: 功耗(Power Consumption): 计算价值(Computing Value): 您的任务是选择一个服务的组合,同时满足以下两个条件: 1. 所有被选中服务的总功耗之和不得超过服务器的功耗预算 ,即 。 2. 所有被选中服务的总计算价值之和 应达到最大。
输入描述:
第一行是一个整数 ,表示待选服务的总数,其中 。第二行是一个整数 ,表示服务器的总功耗预算,其中 。接下来的 行,每行代表一个服务。第 行包含两个整数 和 ,分别代表编号为 的服务的功耗和计算价值。


输出描述:
输出您最终选择的服务组合的编号,编号按从小到大排序,并用空格隔开。择优规则(注意优先级):1. 如果没有任何一个服务组合能满足功耗预算,则输出 -1 。2. 如果存在多个服务组合都能达到相同的最高总计算价值,则在这些组合中,选择总功耗最小的那个。3. 如果在满足前一个条件后仍有多个组合,则在这些组合中,选择包含服务数量最少的那个。4. 题目保证在上述所有规则的约束下,最终只会有一组唯一的最优解。
示例1

输入

5
80
30 400
45 470
15 200
15 200
80 870

输出

1 2
示例2

输入

1
80
100 300

输出

-1

备注:
本题由牛友@Charles 整理上传
加载中...