CF1250C Trip to Saint Petersburg

题目描述

您正在准备一次去圣彼得堡的旅行!您估计了一下自己每天必然要花费 $k$ 元食宿费。 但您可以在圣彼得堡打工!那里共有 $n$ 份工作,每份工作从 $l_i$ 天开始到 $r_i$ 天结束,可获得报酬 $p_i$ 元,**迟到或早退**是不会有报酬的。因为您很强,所以一天之内您可以参加任意多的工作。注意:您在到达或返程的那天依然可以工作。 形式化地来说,您需要确定四项东西:$p$ 最大获利,$L,R$ 您旅行的到达和返程时间,$S$,一个集合,表示您参与的所有工作,必须满足: - $R \ge L$ - 对于任意 $s \in S$ 有 $L\le l_s \le r_s \le R$ - $p=\sum\limits_{s\in S}p_s -k(R-L+1)$

输入格式

第一行 $n ,k(1 \le n \le 2\times 10^5,1\le k \le 10^{12})$ 此后 $n$ 行为每一份工作的参数 $l_i,r_i,p_i(1 \le l_i \le r_i \le 2 \times 10^5,1\le p \le 10^{12})$

输出格式

倘若 $p\le 0$,您只需输出 ```0``` 倘若 $p > 0$,您需要第一行输出共四个数 $p,L,R,|S|$,其中 $|S|$ 是集合 $S$ 的大小。 第二行输出集合 $S$ 的所有元素,按任意顺序均可。 如果有多组解,请任意输出一种即可。