‹ 上一题 下一题 ›

s09196. 退货大师 未做

1000 ms 256 MB 测试点 10 通过率 33% S-06·贪心进阶与反悔贪心反悔堆

题目描述

退货大师面对 个任务,输入顺序即到来顺序,编号 到 ;任务 的截止时刻为 ,报酬为 ,加工时长均为 。大师手里有 点操作额度,每次退货消耗 点。

先把全部任务按(截止时刻,到来编号)双关键字升序排列,然后依次逐个执行固定流程:先把当前任务加入保留集合;若保留集合的大小超过当前任务的截止时刻 ,立即退货一次——退掉集合中报酬最低的任务;若报酬最低的有多个,退其中到来编号最小的一个。

设整个流程共退货 次。若 ,输出 ;否则依次输出三行:最终保留任务的总报酬、、全部被退任务的到来编号之和。(可以证明, 时第一行的总报酬就是保留报酬的最大值。)

输入格式

第一行两个整数 。

接下来 行,第 行两个整数 。

输出格式

见题目描述:输出一行 ,或共三行、每行一个整数。

样例 1

样例

输入
4 4
2 5
2 5
2 9
4 1
输出
15
1
1

排序后依次处理:前两个任务入集合后大小 ;第三个入集合后大小 ,报酬最低的是前两个任务(同为 ),退到来编号最小的任务 ;第四个入集合后大小 。保留任务 ,总报酬 ,退货 次,被退编号之和 。

样例 2

三个任务截止时刻都是 :处理第二个任务后退报酬 的任务 ,处理第三个任务后又退报酬 的任务 ,共退货 次,超过额度 。

数据范围

;;;。总报酬与编号之和可能超过 位整数范围。

输入
输出

            
答案